私はカスタム検証でこの方法を使用しています。この方法が正しいかどうか、私がこのフォームを持っていると仮定した場合、少し混乱しています:
<h:form id="myForm>
<h:outputText value="user name" />
<h:inputText value="#userBean.userName" id="userName" />
<h:outputText value="Password" />
<h:inputText value="#userBean.Password" id="passwd" />
</h:form>
そして私はそのマネージドBeanを持っています:
@ManagedBean(name="userBean")
@SessionScoped
public class UserBeanData{
private String userName;
private String password;
// with setters and getters........
//
}
マネージド Bean フィールドと次のような実装を検証するためのカスタム バリデーター:
@Override
public validate(FacesContext context, UIComponent component, Object value) throws ValidatorException{
Map<String, String> params = context.getExternalContext().getRequestParametersMap();
String username = params.get("myForm:username");
String pass = params.get("myForm:passwd");
// validate : if fields are not null check if the user exists if the result is empty , throws a validation Message Error
}
私の質問は次のとおりです。このようなマネージド Bean の値を取得することは正しいかどうか????