0

@Validアノテーションを使用したSpring3.xでの検証:以下はmessages_en.propertiesからのスニペットです。ユーザー名とパスワードのフィールドを持つフォームがあります。ユーザーが[ユーザー名]フィールドに何も入力しない場合、これらのメッセージの両方が上下に表示されます。

NotEmpty.loginBean.username=Username cannot be Empty
Size.loginBean.username=Size must between 5 to 50 characters.

message.propertiesで指定されたHTMLタグは解釈されません。

NotEmpty.loginBean.username=<li>Username cannot be Empty</li>

上記は<li>をそのまま表示します。質問:1)HTMLタグを解釈してその出力を表示する方法はありますか?2)両方の検証が失敗しても、単一のメッセージを表示できますか?

4

1 に答える 1

1

広告。1)はい、使用しますhtmlEscape="false"

<form:errors path="nip" cssClass="error" htmlEscape="false" />

広告。2)これは実際にはJSR303のアキレス腱です-それは可能ですが、簡単でもきれいでもありません(この問題を参照してください)。各注釈付きフィールドを検証する順序は定義されていないため、ここまたはここで@GroupSequence説明されているようなカスタムグループを使用するのがコツです。

別の解決策は、@ ReportAsSingleViolationでカスタムアノテーションを使用することですが、独自のエラーメッセージがあるため、NotEmptyエラーとSizeエラーを区別しません。

于 2012-07-04T11:57:15.597 に答える