FormValidator::Simple::Plugin::InArray
PHPにはあるらしいin_arrayのFormValidator::Simple版
use FormValidator::Simple qw/InArray/; my $result = FormValidator::Simple->check( $q => [ param => [qw/IN_ARRAY foo bar baz/] ]);
paramの値がlistの中にあれば真。
NOT_IN_ARRAYも使える。
実装はList::Utilのfirstを使っているだけ。listの要素数が多い場合は実装を変えた方がいいだろうな。
package FormValidator::Simple::Plugin::InArray; use strict; use warnings; use FormValidator::Simple::Exception; use FormValidator::Simple::Constants; use List::Util qw/first/; our $VERSION = '0.01'; sub IN_ARRAY { my ( $class, $params, $args ) = @_; my $data = $params->[0]; return ( first { defined $_ && $_ eq $data } @$args ) ? TRUE : FALSE; } 1;
コメント
List::MoreUtils の any ではどうでしょうか。
投稿者: miyagawa | 2006年04月20日 18:30
ども。
有用そうなのでプラグインより
本体に取り込んだほうがよさげですね。
ただ、まだ自宅がネットつながらないので
中々身動きとれません。
色々アウトプットしていただいてるのにすみません…
もう一週間だけ待ってくださいw
投稿者: kato | 2006年04月20日 20:23
> miyagawaさん
List::MoreUtilsの方でもいいかもしれません。
FormValidator::Simpleの方でも使っていますし。
> katoさん
よろしくお願いします。
投稿者: かぜぶろ | 2006年04月21日 15:22