私は誕生の年のために、次のバリデータを持っている:グループセパレータ
<f:validateLongRange minimum="1920" maximum="1992" />
検証メッセージは、いくつかの種類である:誕生の年は1.920の間でなければなりません
」 1.992 "
ユーザーのなかには、「1と9の間にドットを置く必要がありますか?
答えはもちろん「いいえ」ですが、どういうわけかセパレータが表示されないようにエラーメッセージを変更できますか?
(プレースホルダ{0}と{1}を使用して最小値と最大値を挿入するカスタムメッセージバンドルのデフォルトの検証メッセージを変更しましたが、ここで重要ではないと思いますか?
ありがとうございます。 _java.lang.IllegalArgumentException:指定されたObjectをNumberとしてフォーマットできません。同じ結果を持つMessageFormat APIからいくつかの他のサンプルフォーマットを試しました。 –
しかし、最小値/最大値がel式であっても、 'validatorMessage'属性を使うと問題は解決します。ありがとう! –
ああ!私は 'IllegalArgumentException'が出現するとは思わなかった!検査の後、 'LongRangeValidator'は' MessageFormat'に渡す前に値を文字列に変換しているようです。このように 'number'サブフォーマットは実際には使用できません。申し訳ありませんが、私は答えを修正します。 – BalusC