Я создал Validator, который получает экземпляр класса и имя функции, а затем выполняет его.
Это полезно для выполнения многих пользовательских проверок с помощью картографов таблиц базы данных.
Проблема заключается в том, чтоЯ не могу добавить этот валидатор более одного раза в элемент, и мне нужно это сделать ...
Пример:
У меня есть форма входа, котораяесть элементы имени пользователя и пароля.Для имени пользователя мне нужно проверить с помощью этого валидатора, если он уже существует в базе данных, и, если он существует, мне нужно проверить, активирована ли выбранная учетная запись ...
Я знаю, что могу сделать только одинфункция для получения результата для обоих, но мой Валидатор должен возвращать только одно сообщение об ошибке ...
Вот конструктор Валидатора:
/**
*$class is a class instance
*$function is the function name to execute in the class
*$invalidReturns specifies when the validator should return the error message (default is when the function returns null, false or empty string)
*$tokens are used as parameters of the function to execute
*/
public function __construct($class, $function, $invalidReturns=null, $tokens=null)
{
$this->class = $class;
$this->function = $function;
$this->tokens = $tokens;
$this->returns = $invalidReturns;
}
Как можноЯ решаю эту проблему?Есть ли способ создать класс в PHP с динамическим именем?Есть ли способ добавить Validator того же класса к элементу в Zend, или я должен изменить свой Valitor, чтобы он возвращал более одного сообщения и передавал их в конструктор?