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
よりは断然良い。
dnsmasq
社内ネットワークが調子悪くてうんうんいってて、挙動的に DNS 周りがネックになってるっぽかったので、ローカルの Debian マシンで簡易 DNS サーバー作ってそっち使うようにしたら普通になった。
Debian で DNS はどうやるのが普通なんだろうと思って Debian GNU/Linux System Administration Resources 内検索したら簡易なのは dnsmasq 使うとめちゃ簡単! とかいうのをコメント欄で見つけたのでやってみた。
ほんとすげー簡単。
名前引きの設定は /etc/hosts
から、外部 DNS サーバーの設定は /etc/resolv.conf
から読むようになっていてほとんど設定不要。
いやー、これ家でも使おう。OPT100 の EasyDNS 機能がどうしようもなくつかえなくてこまってたとこ。