Приветствую. Для полноты картины.
Вот тут в соседнем чатике советую LIVR, https://metacpan.org/pod/distribution/Validator-LIVR/README.pod https://habrahabr.ru/post/246521/ 2016-09-03 11:09 GMT+03:00 Konstantin S. Uvarin <[email protected]>: > Приветствую. > > Может, подскажет кто модуль? Просьба не холиварить на тему "лучше-хуже", > просто "огласите весь список" (с). > > Хочу фильтр/валидатор/иное очистное сооружение для форм. Требования > примерно такие: > > * инициализируем один раз, валидируем 100500 раз; > * на входе хеш параметр => строка; > * валидация параметра, как минимум, включает regexp, required =1|0 и > дефолтное значение; > * на выходе всё, что выжило после валидации, или пусто, если не прошло > валидацию что-то из required. (Если дохнет - тоже ок). Если какой-то > мараметр мусор - он просто молча выкидывается; > * опционально хеш с непрошедшими валидацию как второй return; > * опционально - strict mode, т.е. если есть лишние или хоть один параметр > defined и провалил валидацию - нафиг; > > Т.е. псевдокод: > my $cleaner = My::Validator->( \%per_param_validation_profile); > # much later > my $safe_data = $cleaner->sanitize( \%evil_user_input ); > my ($safe_data, $failed_param_details) = $cleaner->sanitize( > \%evil_user_input ); > > На CPAN-е валидаторов, ввв-валидаторов и пр., понятное дело, три дня греби > лопатой - я не смог продраться. > > Был один как мне нужно, только наоборот - > my $val = My::Validator->new( $query ); > $val->check( \%profile ); > > Но я-то хочу закешировать правила и применять к разным инпутам, а не > наоборот :) > > Спасибо! > > -- > Konstantin S. Uvarin >
-- Moscow.pm mailing list [email protected] | http://moscow.pm.org
