gpt4 book ai didi

php - ZF2 : Priority for Validators in InputFilter

转载 作者:行者123 更新时间:2023-12-02 22:01:47 27 4
gpt4 key购买 nike

我在这样的表单条目上有一个验证器:

    $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 个验证器。NotEmptyStringLengthEmailAdress

有没有办法在它们之间设置一种优先级?现在,如果我提交一个空表单,我会收到与这 3 个验证器相关的消息,即。 :

  • 我的输入是空的。
  • 我的字符串长度太短(谢谢...)
  • 我的输入不是电子邮件(再次感谢...)

有没有办法告诉我的验证器在第一次失败时停止? (或者至少只打印第一条消息)。

最佳答案

在您的验证器规范中使用值为 true 的 'break_chain_on_failure' 键,即

$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(
),
),
),
));

关于php - ZF2 : Priority for Validators in InputFilter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16841376/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com