Php ZF2:InputFilter中验证器的优先级
我在表单条目上有一个验证程序,如下所示:Php ZF2:InputFilter中验证器的优先级,php,zend-framework2,zend-inputfilter,Php,Zend Framework2,Zend Inputfilter,我在表单条目上有一个验证程序,如下所示: $this->add(array( 'name' => 'email', 'required' => true, 'filter' => array( 'name' => 'StripTags', ), 'validators' => array( array(
$this->add(array(
'name' => 'email',
'required' => true,
'filter' => array(
'name' => 'StripTags',
),
'validators' => array(
array(
'name' => 'NotEmpty',
'options' => array(
'messages' => array(
\Zend\Validator\NotEmpty::IS_EMPTY => 'Veuillez renseigner une adresse e-mail.',
),
),
),
array(
'name' => 'StringLength',
'options' => array(
'encoding' => 'UTF-8',
'min' => 1,
'max' => 100,
),
),
array(
'name' => 'EmailAddress',
'options' => array(
),
),
),
));
我的输入中有基本的3个验证器。
NotEmpty
,StringLength
和电子邮件地址
有没有办法在他们之间设定一种优先级?
现在,如果我提交一个空表单,我会收到与这3个验证器相关的消息,即:
- 我的输入是空的
- 我的绳子太短了(谢谢…)
- 我的输入不是电子邮件(再次感谢…)
是否有必要告诉我的验证器在第一次失败时停止?(或者至少只打印第一条消息)。在验证器规范中使用值为true的
键“故障时断链”
$this->add(array(
'name' => 'email',
'required' => true,
'filter' => array(
'name' => 'StripTags',
),
'validators' => array(
array(
'name' => 'NotEmpty',
'break_chain_on_failure' => true,
'options' => array(
'messages' => array(
\Zend\Validator\NotEmpty::IS_EMPTY => 'Veuillez renseigner une adresse e-mail.',
),
),
),
array(
'name' => 'StringLength',
'break_chain_on_failure' => true,
'options' => array(
'encoding' => 'UTF-8',
'min' => 1,
'max' => 100,
),
),
array(
'name' => 'EmailAddress',
'options' => array(
),
),
),
));
完美的正是我要找的!谢谢;)