Data::RuledValidator 0.02
Data::RuledValidator 0.02をアップしました。1時間くらいしたら反映されるかと。
今回は、Module::Pluggable を使って、plugin を作れるようにしました。
Data::RuledValidator::Plugin::* っていうモジュールを作れば、plugin として使います。
Email も最初のバージョンでは組み込んでたんですが、plugin にしました。
そのほか、number とか、word とかも、Core というpluginにしました。
日本語の扱いが、まだものすごく不十分です(ぉ
Data::RuldeValidator は、Validationのロジックをコードから分離したいために作ったものです。
?page=confirm
の時にするチェックをコードに書くのじゃなくて、別のものに書くというものです。
;;GLOBAL ID_KEY page # i is User ID i is number k is word v is word ;;confirm all of i, k, v
のようなルールを書く。コードは、下記のようにします。
my $v = Data::RuledValidator->new(obj => CGI->new, method => "param", rule => "validator.rule"); print $v->by_rule; # return 1 if valid
Validation をコードに書くのはめんどくさいし、Validation のロジックは、
どこかにまとまってた方が保守性が高いんじゃないかと思ったからです。
パラメータに何を使うのかって言うのを、このルールに書いておけば、
同じものを別のパラメタで使うとかいう、アホなこともないし。ちょっとした仕様書みたいなものになる。
オブジェクトと、メソッド名を渡す関係上、アクセサがあるようなオブジェクトなら、
なんでも使えるし(使う場面があるかは知らないけど)。
といったものです。しかし、まだまだ不十分。