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