5月 11th, 2008at 0:42
Tags: Java
JSF1.1 メソッドバリデータ
JavaBeansのメソッドを利用してバリデーションを実行することも可能。この場合はvalidate属性を利用する。
メソッドの作成
LoginというJavaBeanにバリデータメソッドを追加する。
/** * 入力チェックを行います。 */public void validateInputData(FacesContext context, UIComponent component, Object value){
if(value == null){ context.addMessage( component.getClientId(context), new FacesMessage("ユーザIDは必ず入力してください。")); }
String str = value.toString();
if("".equals(str)){
context.addMessage( component.getClientId(context), new FacesMessage("ユーザIDは必ず入力してください。"));
((UIInput)component).setValid(false);
}else{
if(str.length() < 4){ throw new ValidatorException(new FacesMessage("ログイン情報が不正です。")); }
}}
このサンプルではnullチェックを行っているが、入力欄に何も入力せずにsubmitして
もvalidator属性で指定したバリデータは動かないみたい。よって、必須かどうかの確認は「required=”true”」などrequired
属性をUIコンポーネントに指定する。
よって必須チェックバリデータは作れない??
JSPで使う
JSP上のUIコンポーネントにvalidate属性を追加する。
<div> <h:messages /></div>
<div> <h:outputText value="ユーザID" /> <h:inputText value="#{Login.userID}" validator="#{Login.validateInputData}"> </h:inputText></div>
エラーがあるとこんな感じにある。

I'm a software engineer who like travel to island in Japanese. Recently I am enjoying agile manager, coach, product owner for my work. The person grows like that.








