Formの継承クラスを作成せずにエラーメッセージを変える
結局つかわなかったのだけれど、調べたので。
Form<UserBean> userForm = new Form<UserBean>("userForm"){ private static final long serialVersionUID = 1L; @Override public String getValidatorKeyPrefix() { return "ユーザー"; } }; TextField<String> userId = new TextField<String>("id"); userId.setRequired(true); userId.add(new PatternValidator("^[0-9A-Za-z]*$")); userForm.add(userId); TextField<String> kana = new TextField<String>("kana"); kana.setRequired(true); kana.add(new PatternValidator("^[ア-ン]*$")); userForm.add(kana); ...
getValidatorKeyPrefixというメソッドをオーバーライドする。元はnullを返してるだけなので、単に好きな文字列返してみる。
プロパティファイルはこんな
ユーザーRequired="${label}"を入力しろやゴラ ユーザーid=ユーザーID ユーザーid.PatternValidator="${label}"は半角英数じゃゴラ ユーザーkana=ユーザ名フリガナ ユーザーkana.PatternValidator="${label}"は全角カタカナじゃゴラ
これでパッケージを除くFormクラス名の代わりにPrefixの文字列が使われる感じ。だいたい。
まあ厳密にいうとプロパティファイルのキーの指定ルールとか変にわかりにくいのだけれど、エラーメッセージを参照するとわかります。となげだす。