2

如果数组中的一组验证器失败,Yii 内置验证返回无效,

例如

array( 
  array('A', 'required'),
  array('B', 'required')
)

如果 A 或 B 为空,将返回无效。(与逻辑)

我想组合这些验证器,以便仅当所有单个验证器都返回无效(或逻辑)时它才会返回无效。只有在 A 和 B 都为空的情况下,上面的示例才会返回 invalid。

有没有通用的内置方法来做到这一点?

如果不是,我希望必须扩展库以处理以下内容:

array(
  array('', 'COrValidator', 
    array('A', 'required'),
    array('B', 'required')
  )
)
4

1 回答 1

0

您可能想要创建一个 AnyValidValidator 以便您可以执行以下操作:

array(
   array('attribute1, attibute2', 'anyValid', array('required')),
);

问题与

array(
  array('', 'COrValidator', 
    array('A', 'required'),
    array('B', 'required')
  )
)

就是,如果不对验证器功能进行重大修改, COrValidator 验证器将不会应用于任何属性(未指定属性)。

于 2013-06-21T13:09:46.700 回答