FormValidator::Simple
Validator 使う機会があったら試してみようと思っていた FormValidator::Simple。やっと試してみた。
すげーいい!
けど、とりあえず軽く使ってみて一つ不満が。エラーメッセージを全体の集合でしか取れないこと。Data::FormValidator
みたいに個別かつフォーマットされた物もほしい。
とりあえず現状使う上では(Catalystの場合)、
MyApp->config(
'View::TT' => { PRE_PROCESS => 'inc/macro.tt', },
validator => {
messages => 'conf/messages.yml',
message_format => qq!<span class="error">%s</span>\n!,
},
);
などとし、macro.tt に
[%-
MACRO ERROR(action, key) BLOCK;
c.form.message.get(action, key, c.form.error(key)) | format(c.config.validator.message_format);
END;
-%]
とかしておいた上で、フォームのテンプレートで
<input type="text" name="user" id="login_form_user" value="" />
[%- ERROR('login', 'user') -%]
とかすげーめんどいことしてる。
モジュールのほういじろうかとおもったけど、いまいちうまい方法が思いつかなかったので。。
けどそれでも Data::FormValidator
よりは断然良い。