iceman
говнокодер
Назрела необходимость в создание отдельных классов валидаторов.
Посмотрел реализации в ZF2.
но как то в доке там все просто, есть валидатор - берешь и используешь, работаешь с конкретным классом.
такое подходит, если формы ввода данных статичные, у меня они динамичные.
вся настройка хранится в базе, такие как - обязательность полей, маски ввода, допустимые значения и т.д.
каждая настройка в своем столбце в таблице (БД) сущностей этих формочек, которые отображаются клиенту.
Сам валидатор тупо функция - которая считывала эти поля и по ним определяла когда ругнуться.
Но теперь нужны сложные валидаторы
Имена классов думаю хранить в таблице и порядок их исполнения (приоритет). Но в коде придется делать абстрактный класс валидатор (с фабричным методом), который бы по имени класса создаст мне нужный объект (дочерний) валидатор. Но ограничен я буду абстрактными методами родительского класса, что мне не нравится. А как передавать внешние данные валидатору - х3, формат разрабатывать придется?
Как бы это унифицировать, но чтобы в будущем все не перелопачивать?
Посмотрел реализации в ZF2.
но как то в доке там все просто, есть валидатор - берешь и используешь, работаешь с конкретным классом.
такое подходит, если формы ввода данных статичные, у меня они динамичные.
вся настройка хранится в базе, такие как - обязательность полей, маски ввода, допустимые значения и т.д.
каждая настройка в своем столбце в таблице (БД) сущностей этих формочек, которые отображаются клиенту.
Сам валидатор тупо функция - которая считывала эти поля и по ним определяла когда ругнуться.
Но теперь нужны сложные валидаторы
Имена классов думаю хранить в таблице и порядок их исполнения (приоритет). Но в коде придется делать абстрактный класс валидатор (с фабричным методом), который бы по имени класса создаст мне нужный объект (дочерний) валидатор. Но ограничен я буду абстрактными методами родительского класса, что мне не нравится. А как передавать внешние данные валидатору - х3, формат разрабатывать придется?
Как бы это унифицировать, но чтобы в будущем все не перелопачивать?