0

いくつかの入力フィールドといくつかのselectonemenuがあり、それらを検証する必要があり、それらの検証に基づいて、ページ全体のエラーメッセージを表示する必要があります。また、その入力フィールドとselectonemenuでメッセージを表示する必要があります。

私の検証は、null値と空白値のみを対象としています。nullフィールドと空白フィールドに基づいてメッセージを表示したいので、Bean側の検証を試みました。しかし、私の検証メソッドは、空白のフィールドに対して呼び出されることはありません。

4

1 に答える 1

6

required="true"入力コンポーネントで使用するだけです。

<h:inputText id="input" ... required="true" />
<h:message for="input" />
<h:selectOneMenu id="menu" ... required="true" />
<h:message for="menu" />

「Bean側」についてはあまり明確ではありません。質問で使用されている用語は非常に貧弱で一般的すぎますが、実際にJSR303 Bean検証を意味し、@NotNullトリガーされることを期待している場合は、次のコンテキストパラメーターをに追加する必要がありますweb.xml:

<context-param>
    <param-name>javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL</param-name>
    <param-value>true</param-value>
</context-param>

このようにして、JSF は空の文字列の送信された値nullをモデルに渡す前に変換します。つまり、@NotNull意志は空の文字列に影響を与えません。

以下も参照してください。

于 2013-01-24T15:34:51.557 に答える