Написал небольшой плагин для Mojolicious - Mojolicious::Plugin::ValidateTiny. По сути - это обертка над Validate::Tiny с дополнительными удобными плюшками.
Для валидации входящий параметров мы просто используем хелпер:
По-умолчанию, включена опция "autofields", которая позволяет использовать сокращенный вариант правил проверки. И вместо:
Также очень полезна опции "explicit", которая обязывает нас описать явно правила валидации для каждого поля. По-умолчанию, выключена, но в своих проекта я всегда ее включаю.
Кроме хелпера "validator_error", есть еще хелпер "validator_any_error".
Для валидации входящий параметров мы просто используем хелпер:
$self->do_validation($validate_rules);$validate_rules - это описание проверок в формате Validate::Tiny.
По-умолчанию, включена опция "autofields", которая позволяет использовать сокращенный вариант правил проверки. И вместо:
{ fields => ['user', 'pass'], checks => [user => is_required(), pass => is_required()] }можно писать:
[ user => is_required(), pass => is_required() ]и fields автоматически заполнятся исходя из описания проверок.
Также очень полезна опции "explicit", которая обязывает нас описать явно правила валидации для каждого поля. По-умолчанию, выключена, но в своих проекта я всегда ее включаю.
Кроме хелпера "validator_error", есть еще хелпер "validator_any_error".
my $errors = $self->validator_error; # hashref with errors my $pass_error = $self->validator_error('pass'); # password error text my $any_error = $self->validator_any_error; # any error