密钥'emailAddressInvalidFormat'zf2不存在消息模板

时间:2015-02-17 06:18:35

标签: php validation zend-framework2 zend-inputfilter

密钥 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",
                    )
                ),
            ),
        ),

    ));

但我收到了错误。

1 个答案:

答案 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;