我已将 EmailAddress 验证程序添加到我的表单元素中,当我尝试提交类似 test 的内容时,它会显示2个错误:
* 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
但我不想用如此糟糕的验证信息吓唬我的用户。当然,我可以为每个验证错误重新声明该消息,但对我来说最好的是设置唯一的错误消息,如输入不是有效的电子邮件地址。使用基本格式local-part @ hostname 。
我无法相信zf2无法做到这一点。
答案 0 :(得分:0)
我发现这段代码对我有用。我希望这也适合你。
'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 => '',
)
),
),
),