0

を使用してnull以外の入力のrich:calendarを検証しようとしています<rich:beanValidator />が、null入力を検証できません。

たとえば、私のconstraits.xmlファイルでは、カレンダーのゲッターを検証します。

<getter name="dateOfBirth">

  <constraint annotation="javax.validation.constraints.Past"/> (works fine)

  <constraint annotation="javax.validation.constraints.NotNull" /> (not work)

  <constraint annotation="org.hibernate.validator.constraints.NotEmpty"/> (not work)

</getter>

「DateTime」データ型がそれらを認識しないため、これらの最後の2つの制約は機能しませんでしたか?(私が知る限り、最初のものは数値に使用され、2番目は文字列に使用されます)。

日時データ型にはそのような制約がありますか?null以外の入力に対してxmlファイルに記述された制約を使用して何らかの方法で検証できますか?

rich:calendarのこの種の検証(nullではない)のためにxhtmlでrequired = "true"を使用することを余儀なくされています(休止状態のバリデーターを使用している場合)?

アイデアがあれば助けてください...

よろしく、ミルセア

4

2 に答える 2

0

@NotNull:注釈付き要素はnullであってはなりません。すべてのタイプを受け入れます。

それが本当にnullかどうかを確認しましたか?new Date()たとえばに設定されている可能性があるためです。また、constraints.xmlではなくアノテーションで動作するかどうか試してください(beanvalidatorのバグである可能性があります)

とにかく、required="true"良い解決策のようです。

于 2009-12-01T10:55:02.833 に答える
0

JSF は null フィールドを検証しません。ただし、JSF 2 には、Bean 検証フレームワークに準拠するために null を検証するオプションがあります。

于 2009-12-04T07:31:56.893 に答える