以下の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>