Регистрация собственного валидатора в Zend 2

1

Я создаю персонализированный валидатор даты. Но я продолжаю получать это сообщение об ошибке:

"Zend\Validator\ValidatorPluginManager :: get не удалось получить или создать экземпляр для date_validator"

Я провел некоторое исследование и попытался добавить в module.config.php после массива диспетчера представлений.

'validators' => array(
    'invokables' => array(
        'date_validator' => 'Administrativo\InputFilter\Date_Validator'
    ),
),

Что мне здесь не хватает?

  • 0
    Вы уверены, что в названии класса нет опечатки? (Особенно подчеркивание) Какой редактор вы используете? Если у вас PHP 5.5+, вы всегда должны использовать :: class для имен классов. В противном случае это должно работать.
Теги:
zend-framework2

1 ответ

1

Ваша конфигурация выглядит нормально.

Вы уверены, что у вас есть файл (invokable class) с именем Date_Validator в папке Administrativo\InputFilter в вашем модуле?

Является ли пространство имен внутри этого класса Administrativo\InputFilter и является именем класса Date_Validator.

Важно, чтобы имя класса и пространство имен были правильными, а также имена папок и имя файла. В противном случае PluginManager не сможет найти ваш файл.


ОБНОВИТЬ

Если все в порядке, то есть еще что-то, что вы должны проверить.

Если вы создаете свои входные фильтры через конфигурационный массив, вы должны убедиться, что фабрика внутри вашего класса InputFilter содержит правильно заполненный экземпляр InputFilterPluginManager (с помощью ValidatorManager и FilterManager на борту). В противном случае он не будет вводить эти классы в метод setInputFilterManager и позже он создаст новый пустой диспетчер подключаемого модуля, который, очевидно, не сохранит ваш класс проверки.

  • 0
    да, я уже дважды проверил на наличие таких опечаток. Я импортирую класс в мой файл фильтра (используйте Administrativo \ InputFilter \ Date_Validator в качестве date_validator;), а затем в моем файле у меня есть этот кусок кода.
  • 0
    Я обновил свой ответ с чем-то еще, чтобы проверить ...
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню