На CPAN есть вот такой замечательный модуль для валидации данных (!) MojoX::Validate . Как видно из названия модуль предназначен для использования в фреймворке Mojolicious. Однако и отдельно от него он прекрасно работает, хотя и тащит за собой Mojo =(.
Пример использования:
use MojoX::Validator; #создаем новый объект my $validator = MojoX::Validator->new; #массовое добавдение полей для проверки $validator->field([qw/ID USER_ID/])->each(sub{ shift->required(1)->regexp(qr/^\d+$/) }); #правило для одного поля $validator->field('NAME')->length(1,20); #валидируем $validator->validate({NAME => $name}); #получаем ошибки $validator->errors;
Маленькая особенность.
Если в конструкции:
$validator->field([qw/ID USER_ID/])->each(sub{ shift->required(1)->regexp(qr/^\d+$/) });
указать только одно поле (в списке полей) — работать не будет!
Для одного поля используйте запись вида:
$validator->field('NAME')->length(1,20);
Привет!
Погружаешься в разработку ? Ищешь ментора ?
Поделюсь своими знаниями и опытом - https://opeykin.ru/mentor/
Ну вот теперь хоть код подсвечивается и то хорощо =)
Мое замечание более не актуально =)
http://github.com/vti/mojox-validator