Я создаю персонализированный валидатор даты. Но я продолжаю получать это сообщение об ошибке:
"Zend\Validator\ValidatorPluginManager :: get не удалось получить или создать экземпляр для date_validator"
Я провел некоторое исследование и попытался добавить в module.config.php после массива диспетчера представлений.
'validators' => array(
'invokables' => array(
'date_validator' => 'Administrativo\InputFilter\Date_Validator'
),
),
Что мне здесь не хватает?
Ваша конфигурация выглядит нормально.
Вы уверены, что у вас есть файл (invokable class) с именем Date_Validator
в папке Administrativo\InputFilter
в вашем модуле?
Является ли пространство имен внутри этого класса Administrativo\InputFilter
и является именем класса Date_Validator
.
Важно, чтобы имя класса и пространство имен были правильными, а также имена папок и имя файла. В противном случае PluginManager не сможет найти ваш файл.
Если все в порядке, то есть еще что-то, что вы должны проверить.
Если вы создаете свои входные фильтры через конфигурационный массив, вы должны убедиться, что фабрика внутри вашего класса InputFilter
содержит правильно заполненный экземпляр InputFilterPluginManager
(с помощью ValidatorManager
и FilterManager
на борту). В противном случае он не будет вводить эти классы в метод setInputFilterManager
и позже он создаст новый пустой диспетчер подключаемого модуля, который, очевидно, не сохранит ваш класс проверки.