【发布时间】:2013-02-01 08:33:26
【问题描述】:
如何通过 Zend 框架 2 ValidatorChain 将空值传递给我的自定义验证器?
allowEmpty(false)在 ZF1 上是可能的
在具有空元素值的 ZF2 上:
如果
allowEmpty = false,则将NotEmptyValidator添加到ValidatorChain的顶部,breakOnFailure = true,@see Zend/InputFilter/Input#injectNotEmptyValidator。-
如果
allowEmpty = true,元素被认为是有效的,@see Zend/InputFilter/BaseInputFilter#isValidif ($input->allowEmpty()) { $this->validInputs[$name] = $input; continue; }
【问题讨论】:
-
这不是我需要的,因为如果 allow_empty = true 并且我的元素值为空,zf2 认为该元素是有效的并且不会调用验证器。
-
我想我不明白你的问题。要么允许空值,要么不允许。如果您不允许空值,则所有验证器都将运行,否则在给出空输入时验证将失败。如果您确实允许它们,则不需要进一步验证空值 oO
-
好的,为了简化描述,我如何使用 zf2 在字段上应用自定义验证器,即使它是空的。
-
简化不是要走的路。你想验证什么?
""是空的 - 没有验证。这是一个空字符串,你到底想用这个来验证什么?它只是没有丝毫意义。你到底想做什么?
标签: php validation zend-framework2 input-filter