3
如何根據數據庫驗證輸入文本字段中輸入的用戶名是否可用?我正在使用JSF2。如何驗證數據庫中用戶名的可用性?
如何根據數據庫驗證輸入文本字段中輸入的用戶名是否可用?我正在使用JSF2。如何驗證數據庫中用戶名的可用性?
你自己實現一個Validator
。
@ManagedBean
@RequestScoped
public class UserNameAvailableValidator implements Validator {
@EJB
private UserService userService;
@Override
public void validate(FacesContext context, UIComponent component, Object value) throws ValidatorException {
String userName = (String) value;
if (!userService.isUsernameAvailable(userName)) {
throw new ValidatorException(new FacesMessage("Username not avaliable"));
}
}
}
(請注意,這是一個@ManagedBean
代替@FacesValidator
因爲需要注入的@EJB
;如果你不使用EJB,你可以把它@FacesValidator
代替)
使用它如下:
<h:inputText id="username" value="#{register.user.name}" required="true">
<f:validator binding="#{userNameAvailableValidator}" />
<f:ajax event="blur" render="username_message" />
</h:inputText>
<h:message id="username_message" for="username" />
什麼是「檢查可用性功能」是什麼意思? –
hi ken,我想交叉驗證在數據庫的文本框中給定的用戶名是否用戶名分配給任何人。 – sateesh