Sae*_*ven 6 php zend-framework2
我有一个输入过滤器,其电子邮件字段的验证器配置如下;
'validators' => array(
array (
'name' => 'EmailAddress',
'options' => array(
'messages' => array(
'emailAddressInvalidFormat' => "Email address doesn't appear to be valid.",
)
),
),
array (
'name' => 'NotEmpty',
'options' => array(
'messages' => array(
'isEmpty' => 'Email address is required',
)
),
),
),
),
Run Code Online (Sandbox Code Playgroud)
它的工作原理,那部分很好,但我会在这里得到业务部门的嘲笑,如果我推出一个应用程序向用户吐出此错误消息:
输入与模式不匹配
'/^[a-zA-Z0-9.!#$%&'+ / =?^ _` {|}〜 - ] + @ [a-zA-Z0-9 - ] +(?:.[a -zA-Z0-9 - ] +) $ /'
有一个奇怪的书呆子喜剧埋在那里(是的,我知道它是准确的,但是,rofl).
对于善良的灵魂,我有两个问题:
如何自定义该错误消息? 我似乎无法找到正确的钥匙,因为我很容易'emailAddressInvalidFormat'.
此外,是否可以将所有错误卷入一个? 我的意思是.而不是张贴:
"您的电子邮件模式刚刚离开大楼,您的电子邮件不能为空,您的电子邮件似乎无效"
我可以为电子邮件发送"单一故障"消息吗?
"嘿蓓蕾,查看你的电子邮件,有些不对劲!"
一如既往地感谢您的帮助.
UPDATE
在这里投票支持这个错误 https://github.com/zendframework/zend-validator/issues/41
小智 0
\xe2\x80\x9c输入与模式\xe2\x80\x9d 消息不匹配似乎Zend\\Validator\\Regex::NOT_MATCH实际上不是Zend\\Validator\\EmailAddress类的。
从您的代码来看,尚不清楚您在何处以及是否使用Regex验证器。我相信内部EmailAddress不会使用。Regex
如果您想自定义Regex消息,它可能如下所示:
array (\n \'name\' => \'Regex\',\n \'options\' => array(\n \'messages\' => array(\n \'regexNotMatch\' => "Not so nerdy message here.",\n )\n ),\n),\nRun Code Online (Sandbox Code Playgroud)\n