というわけで

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のエラーメッセージはどうよ!って話がでていたので、解決策の一つにはなるかなと思うんですが、どうでしょ?