7.6. 変換と妥当性検証
複雑なモデルプロパティに JSF コンバータを次のいずれかの方法で指定することができます。
<pages>
<page view-id="/calculator.jsp" action="#{calculator.calculate}">
<param name="x" value="#{calculator.lhs}"/>
<param name="y" value="#{calculator.rhs}"/>
<param name="op" converterId="com.my.calculator.OperatorConverter"
value="#{calculator.op}"/>
</page>
</pages>
<pages>
<page view-id="/calculator.jsp" action="#{calculator.calculate}">
<param name="x" value="#{calculator.lhs}"/>
<param name="y" value="#{calculator.rhs}"/>
<param name="op" converter="#{operatorConverter}"
value="#{calculator.op}"/>
</page>
</pages>
次のいずれかの方法で、JSF バリデータと
required="true" を使用することもできます。
<pages>
<page view-id="/blog.xhtml">
<param name="date" value="#{blog.date}"
validatorId="com.my.blog.PastDate" required="true"/>
</page>
</pages>
<pages>
<page view-id="/blog.xhtml">
<param name="date" value="#{blog.date}"
validator="#{pastDateValidator}" required="true"/>
</page>
</pages>
モデルベースの Hibernate バリデータのアノテーションは自動的に認識され検証されます。 Seam は文字列パラメータ値を日付に変換してまた戻すためにデフォルトの日付コンバータも提供します。
型変換や妥当性検証が失敗すると、 グローバルな
FacesMessage が FacesContext に追加されます。