Zend Elements和setRequired,setAllowEmpty,NotEmpty

时间:2011-04-18 06:45:09

标签: php zend-framework validation

2 个答案:

答案 0 :(得分:3)

setRequired()似乎是冗余功能,因为 setAllowEmpty 非常相似。我认为这是一个问题。

但是,除了验证器之外,您还可以使用setRequired(flag)来指定需要元素。默认情况下,此标志为false。结合默认为setAllowEmpty(flag)的{​​{1}}和默认为true的{​​{1}},您可以修改验证过程的行为:

  • 默认情况下,使用默认标志,当您没有传递任何值或空字符串时,将跳过验证器并返回true
  • 默认情况下保留所有标记,并使用setAutoInsertNotEmptyValidator(flag)将针对此元素的验证程序进行验证
  • 默认情况下保留所有标记,并使用true添加setAllowEmpty(false)验证程序。因此,如果没有传递任何值,我们会通知用户并阻止执行其他验证程序,因为我们知道这是无效数据

所以setAllowEmpty(false)默认保留所有标志与setRequired(true)和setAutoInsertNotEmptyValidator(false)相同;由于命名

,这很令人困惑

希望有所帮助;)

答案 1 :(得分:1)

尝试使用

 $form->isValidPartial($partialData)

这只验证$ partialData变量中存在的键。这可能只是你需要的东西。

相关问题