第2回 Catalyst::Plugin::FormValidator::Lazy dfv_push_invalid編
概要
FormValidatorのチェックはあくまで、フォーマットであり、それをパスした後にDFVのエラーにしたい時がある。
例えば、登録の処理で、使用したメールアドレスはすでの登録されていたときなど。そういう時の為に、$c->dfv_push_invalid があります。
使い方
こんな感じで設定。
( Neko::Web::Controller::Root->zip02_do() 内)
if( !$res->is_success) { $c->dfv_push_invalid('api_not_available'); return; }
使う時。
root/zip02.tt
[% IF c.has_dfv_error %] <div style="color:red;margin:10"> [% IF missing.post_code %]郵便番号を入力して下さい。<br>[% END %] [% IF invalid.post_code %]郵便番号のフォーマットが不正です。<br>[% END %] [% IF custom_invalid.api_not_available %]APIが使用できない状態です。また後で。<br />[% END %] [% IF custom_invalid.not_found %]住所がみつかりませんでした。<br />[% END %] </div> [% END %]
簡単だね。