密钥 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",
)
),
),
),
));
但我收到了错误。
答案 0 :(得分:1)
你在做什么并没有多大意义。 尝试一次不设置自定义消息。完全省略消息键。
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;