【发布时间】:2023-03-15 21:52:01
【问题描述】:
我有一个 type="email" 的输入框并使用 zend 验证器对其进行验证
<input type="email" name="email" > email </input>
'email' => array(
'required' => true,
'validators' => array(
array(
'name' => 'Regex',
'options' => array(
'pattern'=>'/^[a-zA-Z0-9.!#$%&\'*+\/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/',
'messages' => array(
\Zend\Validator\Regex::NOT_MATCH=>'Please fill correct email ',
)
),
'break_chain_on_failure' => true
),
),
问题是如果我使用另一个数组来检查
IS_EMPTY
zend 正则表达式再次不显示上述错误,而是显示默认的 zend 正则表达式错误,如果我删除 IS_EMPTY 那么它工作正常。正则表达式错误是
1. input does not match to expression '/^[a-zA-Z0-9.!#$%&\'*+\/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/'
完全无法理解为什么在没有空检查的情况下它可以正常工作并且不能与它一起工作
【问题讨论】:
-
为什么不直接使用 ZF2 自带的 EmailAddress() Validator?
-
试过了,即使它仍然会给出默认的 REGEX 错误:输入与表达式不匹配..
标签: regex zend-framework2