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"));
}
}
}
(それが理由@EJB
を注入する必要があるの@ManagedBean
代わりに@FacesValidator
だということに注意してください、あなたは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" />
「空き状況を確認する」とはどういう意味ですか? –
こんにちは、私は、ユーザー名が誰に割り当てられているかどうかにかかわらず、テキストボックスの指定されたユーザー名とデータベースを照合したいと思います。 – sateesh