4
私は魔法使いに多くのフィールドを持っています。 <f:validateLength>
タグで問題ありません。このバリデータのカスタムメッセージを追加することもできます。フィールドにカスタマイズされた<f:validateLength>タグのエラーメッセージを追加します。
問題はメッセージをフィールドごとにカスタマイズする必要があることです。例えば。 firstname
フィールドに「名前が短すぎます」または「名前が長すぎます」というメッセージがある必要があります。surname
には「姓が短すぎます」または「姓が長すぎます」などがあります。
さらにカスタマイズが必要な場合はどうすればよいですか?例えば。 「名があまりにも短い」、「もっと長いパスワードを提供してください」JSFで可能ですか? JSR303 Bean Validationを使用することもできます。そこでは、各フィールドにメッセージを指定できますが、値が小さすぎると値が長すぎるため、別のメッセージを指定できません。 – amorfis
異なるメッセージが必要な場合は、カスタムの 'LengthValidator'を指定し、必要条件を' 'として渡す必要があります。これは 'validate()'メソッドの中で 'UIComponent#getAttributes()'によって利用可能です。 'faces-config.xml'で定義したメッセージバンドルのベース名は、' Application#getMessageBundle() 'で利用可能な方法で、バリデータの内部で' ResourceBundle#getBundle() 'によってメッセージバンドルを取得できます。参照[この回答](http://stackoverflow.com/questions/3138271/jsf-how-can-i-get-the-msg-from-message-property-as-a-string-in-java-code/3140182#3140182)。 –
BalusC