Validator - механизм для проверки параметров

Validator - механизм для проверки параметров

В общем, реализовал сабж и оформил по этому поводу что-то вроде статьи http://feotast.net/validator.html . На перле, правда, но пользователи PHP должны без труда разобраться в коде (возможно, реализация классов покажется непонятной, но примеры с их использованием не должны вызвать трудностей). Постараюсь на следующей неделе и на PHP наваять, если кому будет интересно.
 

wizardz

Новичок
Ты уверен, что он лучше уже существующих, например этого -
http://wact.sourceforge.net/index.php/FormValidation
 
Сначала написал сообщение, потом решил более подробно ознакомиться с исподниками механизма валидации WACT и стер его =) Пишу по новой.

В итоге я пришел практически к тому же, что сделали разработчики WACT. В принципе, идея одна и та же, но реализации немного отличаются. В WACT у правил "больше прав": они знают о существовании классов DataSource и ErrorList и умеют работать с ними. Класс Validator просто создает массив правил и последовательно его проверяет, не выполняя никаких дополнительных действий. В моей реализации правила получают аргументы и параметры для проверки, проверяют их и в случае неудачной валидации возвращают экземпляр объекта ошибок, содержащий коды ошибок. Т.е. у меня правила не зависят ни от каких других классов. Основная логика работы с правилами реализована в классе Validator, который умеет работать с группами ошибок (то же самое есть в WACT), со списком параметров (в правила передает только нужные им значения), собирает все кода ошибок в общий ErrorList и т.д. В случае неудачной валидации, Validator может вернуть ErrorList, который обрабатывается другим классом и формирует структуру сообщений, используемых в шаблонах.
 
Сверху