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 よりは断然良い。

by typester / at 2005-12-21T02:45:00 / perl / Comments(0)