というわけで
Validatorを改善しようと考えました。それぞれのValidatorでデフォルトのエラーメッセージを定義してみるのはどうかと。
Ethnaのいいところとして、エラーメッセージをいちいち設定しないでいいってのは感じたので、MapleのValidatorでもそれぞれのデフォルトメッセージを定義するというのではどうだろかと。StrutsのValidatorをみて、その時々によって、きめ細やかにエラーメッセージを決めれないと対応できないこともあるだろうに、と思って今の形になったのだが、特別ないいまわしにしたいことはそんなにない(けどある。クライアントによっては細かく言い回しが指定されたりする)。なので、デフォルトの文言を定義しつつ、変更できるよってのがいいかなぁと。
ということで以下のようなパターンはどうですかね?
[Validate] @name = 名前 @email = メールアドレス name.required = "1" name.maxlength = "1,,20" email.required = "1" email.maxlength = "1,,60"
requiredならば「{:param}を入力してください。」、maxlengthならば「{:param}は{:arg1}文字までで入力してください」というデフォルト定義があって、「@(パラメータ名)」という定義の部分をみて、それを使ってメッセージを出すって感じ。(もし「@name = 名前」がなければ、「nameを入力してください。」という風にリクエストパラメータをそのまま使うってのでいいかなと)
デフォルトのものでよければ毎回毎回打つ必要もなくなるし、変えたかったら変えれる。そういう柔軟性がもてると思うのですが、いかがでしょ?
前々からValidatorのエラーメッセージはどうよ!って話がでていたので、解決策の一つにはなるかなと思うんですが、どうでしょ?