Zend framework2 如何告诉Zend验证器以任何方式只使用一条验证消息

Zend framework2 如何告诉Zend验证器以任何方式只使用一条验证消息,zend-framework2,zend-validate,Zend Framework2,Zend Validate,我已将电子邮件地址验证程序添加到我的表单元素中,当我尝试提交类似测试的内容时,它会显示两个错误: * The input does not match against pattern '/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/' * The input is not a valid email address. Use the basic forma local-part@hostn

我已将电子邮件地址验证程序添加到我的表单元素中,当我尝试提交类似测试的内容时,它会显示两个错误:

* The input does not match against pattern '/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/'  
* The input is not a valid email address. Use the basic forma local-part@hostname
但我不想用如此糟糕的验证信息吓唬我的用户。当然,我可以为每个验证错误重新声明消息,但对我来说最完美的方法是只设置一条错误消息,如输入不是有效的电子邮件地址。使用基本的forma local-part@hostname


我不敢相信zf2中没有办法做到这一点。

我发现这段代码对我来说很有用。我希望这对你也有用

'validators' => array(
        array (
            'name' => 'Regex',
            'options' => array(
                'pattern'=>'/^[a-zA-Z0-9.!#$%&\'*+\/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/',
                'messages' => array(
                    Regex::NOT_MATCH    => 'Please provide a valid email address.',
                ),
            ),
            'break_chain_on_failure' => true
        ),
        array(
            'name' => 'EmailAddress',
            'options' => array(
                'messages' => array(
                    EmailAddress::INVALID_FORMAT   => 'Please provide a valid email address.',
                    EmailAddress::DOT_ATOM         => '',
                    EmailAddress::INVALID_FORMAT   => '',
                    EmailAddress::INVALID_LOCAL_PART => '',
                    EmailAddress::QUOTED_STRING => '',
                )
            ),
        ),
    ),