Mojolicious::Validator - パラメーターの検証
使い方
use Mojolicious::Validator; my $validator = Mojolicious::Validator->new; my $v = $validator->validation; $v->input({foo => 'bar'}); $v->required('foo')->like(qr/ar$/); say $v->param('foo');
説明
Mojolicious::ValidatorはMojoliciousのためにパラメーターを検証します。
チェック
これらの検証チェックがデフォルトで利用可能です。
equal_to
$validation->equal_to('foo');
値がもうひとつのフィールドの値に等しいことを必要とする。
in
$v = $v->in('foo', 'bar', 'baz');
値が、リストにある複数の値のひとつにマッチすることを必要とする。
like
$validation->like(qr/^[A-Z]/);
値が、正規表現にマッチすることを必要とする。
num
$v = $v->num; $v = $v->num(2, 5); $v = $v->num(2, undef); $v = $v->num(undef, 5);
String value needs to be a non-fractional number and if provided in the given range.
文字列値が小数でない数であることを必要とし、与えられた範囲があれば、それに収まる必要がある。
size
$validation->size(2, 5);
文字列の値の長さか、Mojo::Uploadのサイズが、これらの二つの値の間にあることを必要とする。
フィルター
以下のフィルターをデフォルトで使用できます。
trim
$v = $v->optional('foo', 'trim');
Mojo::Utilの「trim」を使って、空白文字を文字列の両端から取り除きます。
属性
Mojolicious::Validatorは次の属性を実装しています。
checks
my $checks = $validator->checks; $validator = $validator->checks({size => sub {...}});
検証チェックを登録します。デフォルトでequal_to
, in
, like
とsize
が利用できます。
メソッド
Mojolicious::ValidatorはMojo::Baseを継承しており、 次の新しいものを実装しています。
add_check
$validator = $validator->add_check(size => sub {...});
新しい検証チェックを登録します。
$validator->add_check(foo => sub { my ($v, $name, $value, @args) = @_; ... return undef; });
add_filter
$validator = $validator->add_filter(trim => sub {...});
新しいフィルターを登録する。
$validator->add_filter(foo => sub { my ($v, $name, $value) = @_; ... return $value; });
new
my $validator = Mojolicious::Validator->new;
新しいMojolicious::Validatorオブジェクトを構築する。
validation
my $validation = $validator->validation;
検証を実行するためのMojolicious::Validator::Validationオブジェクトを生成します。
my $v = $validator->validation; $v->input({foo => 'bar'}); $v->required('foo')->size(1, 5); say $v->param('foo');
参考
Mojolicious, Mojolicious::Guides, http://mojolicio.us.
(Mojolicious 8.12を反映。2019年6月14日更新)