以下のUJIタグでバリデータを利用できます。
タグ名 | 標準バリデータ(*1) | バリデータに渡されるオブジェクトの型 |
---|---|---|
uji:name | ○ | java.lang.String |
uji:compositeName | ○ | |
uji:input | ○ | |
uji:textarea | ○ | |
uji:select | ○ | |
uji:recordView | java.lang.Stringの配列 | |
uji:tableView | com.fujitsu.uji.faces.collect.TableValue | |
uji:treeView | com.fujitsu.uji.faces.collect.TreeValue | |
uji:fieldBigDecimal | ○ | java.lang.String |
uji:fieldBigInteger | ○ | |
uji:fieldDate | ○ | |
uji:fieldDouble | ○ | |
uji:fieldLong | ○ | |
uji:fieldString | ○ | |
uji:fieldTextArea | ○ |
(*1)JavaServer Facesが標準で提供しているバリデータが利用できることを示します。
バリデータの利用方法は、標準のJavaServer Facesと同じです。
次に例を示します。
[uji:fieldStringでバリデータを利用する例]
<f:view> <uji:form name="myform" > <uji:fieldString bean="myBean" property="fieldString" validator="#{myBean.validate}" /> <uji:pushButton label="送信" /> </uji:form> </f:view>
[バリデータの例]
import javax.faces.application.FacesMessage; import javax.faces.component.UIComponent; import javax.faces.context.FacesContext; import javax.faces.validator.ValidatorException; public class MyBean { public void validate(FacesContext context, UIComponent component, Object value) {
if(value == null || value.toString().length() == 0){
throw new ValidatorException(new FacesMessage("入力値がありません。"));
}
} }
バリデータで設定した例外メッセージはh:messageタグ、またはh:messagesタグで表示します。
<f:view> <uji:form name="myform" > <uji:fieldString bean="myBean" property="fieldString" validator="#{myBean.validate}"id ="fieldString1"/> <h:message for="fieldString1" /> <uji:pushButton label="送信" /> </uji:form> </f:view>