Не существует шаблона сообщения для ключа emailAddressInvalidFormat-zf2 [zend-framework2].
Я использую следующий код, мой массив для фильтра
$this->add(array(
'name' => 'email',
'required' => true,
'filters' => array(
array('name' => 'StripTags'),
array('name' => 'StringTrim'),
),
'validators' => array(
array(
'name' => 'StringLength',
'options' => array(
'encoding' => 'UTF-8',
'min' => 1,
'max' => 256,
),
),
array(
'name' => 'DoctrineModule\Validator\ObjectExists',
'options' => array(
'object_repository' => $sm->get('doctrine.entitymanager.orm_default')->getRepository('Application\Entity\Customer'),
'fields' => 'email',
'messages'=>array(
\Zend\Validator\EmailAddress::INVALID_FORMAT => "Invalid type given. String expected",
)
),
),
),
));
Но я получаю ошибку.
То, что вы делаете, не имеет особого смысла.
Попробуйте один раз, чтобы не устанавливать пользовательские сообщения. Просто опустите ключ сообщений полностью.
array(
'name' => 'DoctrineModule\Validator\ObjectExists',
'options' => array(
'object_repository' => $sm->get('doctrine.entitymanager.orm_default')->getRepository('Application\Entity\Customer'),
'fields' => 'email',
)
),
Это должно работать правильно, если вы делаете это. В настоящее время вы настраиваете ObjectExists
валидатор с ключами EmailAddress
валидатор, так что вы все путаете.
Если вы чувствуете необходимость настроить вещи, ключ сообщения должен быть noObjectFound
или же \DoctrineModule\Validator\ObjectExists::ERROR_NO_OBJECT_FOUND;
Других решений пока нет …