はちゅにっき

こっちのブログはまったり更新

FormValidator::LazyWay で検証ルールをまとめよう

vkgtaro さんのセッション。
講演者がいない!?というハプニングもありましたが、無事にスタート。
lazy-people 面白そうですね。

lazy-people のプロジェクト
lazy は遅延 って意味ではなくて 怠けられる って意味
Form Validateor は CPAN にもたくさん上がっている
FormValidator::Simple が日本では人気
tokuhirom さんの FormValidator::Lite などなどとにかくたくさん

FV::LazyWay の特徴

フィード名ごとにルールを定めてサイト全体で使える
コンストラクタに config を渡してあげる
check で validate

my $cv = FV::LazyWay->new( $config );

$cv->check($q, {
required => [qw/ /],
optional => [qw/ /].
} );

さまざまな設定ができるよ

  • フィールド名を正規表現でマッチさせる
  • 項目をマージして検証
    • 年 月 日 を別々に入力させてマージして検証

Filter, Rule, Fix の流れ

  1. 入力値を filter して
  2. Rule に基づいて検証して
  3. 出力を Fix する
    • DateTime 型のオブジェクトにする とか

そのた

独自のルールも読み込める
入力値のデフォルト設定
検証モジュールのメッセージをカスタマイズできる
日本語 POD もあるよ

今後

  • rule, filter, fix モジュールを増やす
  • 多言語化
  • upload フィールドの検証
  • ソースコード整理
  • coderepos にあるよ