[Moscow.pm] Валидатор для форм: хочу [не очень-то и] странного

Konstantin S. Uvarin khedin на gmail.com
Сб Сен 3 02:09:37 PDT 2016


Приветствую.

Похоже, нашёл нужное:

https://metacpan.org/pod/Input::Validator

Но если кто-то знает ещё - YW!

2016-09-03 11:23 GMT+03:00 Alessandro Gorohovski <an.gorohovski на gmail.com>:

> Здравствуйте,
>
> /Я|хочу/i;
>
>
>
> 3 сентября 2016 г., 11:09 пользователь Konstantin S. Uvarin <
> khedin на gmail.com> написал:
>
>> Приветствую.
>>
>> Может, подскажет кто модуль? Просьба не холиварить на тему "лучше-хуже",
>> просто "огласите весь список" (с).
>>
>>  Хочу фильтр/валидатор/иное очистное сооружение для форм. Требования
>> примерно такие:
>>
>> * инициализируем один раз, валидируем 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
>> moscow-pm на pm.org | http://moscow.pm.org
>>
>>
>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>
>


-- 
Konstantin S. Uvarin
jabber: see <from>
skype: kuvarin
http://github.com/dallaylaen
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20160903/4ae12573/attachment-0001.html>


Подробная информация о списке рассылки Moscow-pm