2012-01-10
Validator::Customリファレンス - HTMLフォームのバリデーション
Validator::CustomはHTMLフォームのデータのバリデーションを行うための便利なモジュールです。バリデーションのルールを少ない記述で書けること、制約ごとにエラーメッセージを設定できること、良く使う機能は最初から提供していて、ユーザー定義の制約を簡単に追加できる柔軟性の高い設計などが特徴です。
use Validator::Custom; my $vc = Validator::Custom->new; # データ my $data = { price => 1200 name => 'Perl', password => 'secret', passwrod2 => 'secret' }; # ルールの作成 my $rule = [ price => [ [int => 'price must be number'] ], name => [ [not_blank => 'name is empty'], [{length => [0, 20]} => 'name is too long'] ], password => [ [not_blank => 'password is empty'], [ascii => 'password contains invalid caharcters'] ], {password_check => ['password', 'password2']} => {copy => 0} => [ [duplication => 'Two password not match'] ] ]; # バリデーション my $vresult = $vc->validate($data, $rule); # 結果の確認 if ($vresult->is_ok) { # 安全なデータ my $safe_data = $vresult->data; } else { # エラーメッセージ my $errors = $vresult->messages; }
インストール
データのバリデーション
ルールの書き方
制約関数
- ascii - アスキー図形文字
- between - AからBの間の数値
- blank - 空文字列
- decimal - 正の数値(桁数指定)
- defined - 定義されている
- duplication - 二つの値が同一であることのチェック
- selected_at_least - 少なくともひとつが選択されている
- in_array - 値が配列の値に含まれたものがどうかをチェックする
- uint - 非負数の整数
- length - 文字列の長さのチェック
- duplication - メールアドレスが一致していることをチェック
- ひらがなとカタカナのバリデーション
- 制約関数を登録する
- 制約関数の中で登録されている制約関数を利用する
フィルタ関数
ルールのオプション
よくある質問(FAQ)
トラックバック - http://d.hatena.ne.jp/perlcodesample/20120110/1326191080
リンク元
- 18 https://www.google.co.jp/
- 9 http://www.google.co.jp/url?sa=t&rct=j&q=正規表現 or&source=web&cd=2&ved=0CDUQFjAB&url=http://d.hatena.ne.jp/perlcodesample/20080405/1207486052&ei=FyEMT-6JNLCTiAeHtNH3BQ&usg=AFQjCNE-aD6X4cv54UioRNBOFihZ7M6c7w&sig2
- 9 http://www.google.co.jp/url?sa=t&rct=j&q=perl 正規表現 抽出&source=web&cd=3&ved=0CEgQFjAC&url=http://d.hatena.ne.jp/perlcodesample/20080408/1207669123&ei=GBMMT9iFC6nUmAWPnJCwBg&usg=AFQjCNF_WF1-pvmS
- 7 http://www.google.co.jp/url?sa=t&rct=j&q=コマンドプロンプト 文字化け&source=web&cd=6&ved=0CE8QFjAF&url=http://d.hatena.ne.jp/perlcodesample/200807
- 6 http://reader.livedoor.com/reader/
- 5 http://www.google.co.jp/url?sa=t&rct=j&q=git 差分反映&source=web&cd=8&ved=0CFYQFjAH&url=http://d.hatena.ne.jp/perlcodesample/20111104/1322481521&ei=wioMT_fBKYLDmQWw98ClBg&usg=AFQjCNFFOhSm4BpXLWNDPgXx-wqUn4ThVg
- 5 http://www.google.co.jp/url?sa=t&rct=j&q=perl+文字列+比較+日本語&source=web&cd=1&ved=0CCwQFjAA&url=http://d.hatena.ne.jp/perlcodesample/20091118/1246679588&ei=ZxcMT5OdH4f_mAXF4NCoBg&usg=A
- 4 http://isearch.avg.com/search?cid={17fad7f7-f4fa-4f7c-9d61-2f61841069de}&mid=4422785368d947d69f5ad1191024e9fb-5e8ce946ebbb615e1259519e2c2a585114ae0140&ds=AVG&v=9.0.0.18.1&lang=ja&pr=fr&d=2011-12-17 01:37:53&sap=tr&q=perl ??泣???%
- 4 http://pipes.yahoo.com/pipes/pipe.info?_id=966a2ee0c62a88318ff96398da4d1632
- 4 http://www.google.co.jp/m/search?dc=gorganic&source=mobileproducts&ie=Shift_JIS&sa=2&q=PERL+書き方&site=universal