Приветствую. Похоже, нашёл нужное:
https://metacpan.org/pod/Input::Validator Но если кто-то знает ещё - YW! 2016-09-03 11:23 GMT+03:00 Alessandro Gorohovski <[email protected]>: > Здравствуйте, > > /Я|хочу/i; > > > > 3 сентября 2016 г., 11:09 пользователь 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 >> >> > > -- > Moscow.pm mailing list > [email protected] | http://moscow.pm.org > > -- Konstantin S. Uvarin jabber: see <from> skype: kuvarin http://github.com/dallaylaen
-- Moscow.pm mailing list [email protected] | http://moscow.pm.org
