我正在使用Yii1.1.20的YiiConditionalValidator.php扩展名。 当我将按钮(is_master)从1切换到0时,我希望有必填字段(master_id)...
is_master-1或0 master_id-如果“ is_master” = 0,则使“ master_id为必需项...
所以...我的模型规则如下:
public function rules()
{
return [
['is_master', 'required'],
['is_master', 'validators.YiiConditionalValidator',
'if' => [
['is_master', 'compare', 'compareValue'=> "0"],
],
'then' => [
['master_id', 'required'],
],
],
['is_master, master_id', 'safe', 'on' => 'search'],
];
}
在我的表单中,我设置了以下选项:
'enableAjaxValidation' => false,
'enableClientValidation' => true,
'clientOptions' => array(
'validateOnChange' => true,
'validateOnSubmit' => true,
),
似乎我的$ form无法看到此条件规则...
感谢您的帮助!
答案 0 :(得分:0)
虽然没人知道^ ____ ^ ...我很少进行研究,但答案是在YiiConditionalValidator.php中缺少一个函数...
当您查看yii 1.1.x框架/验证器时,它们大多数具有2个功能:
这就是为什么YiiConditionalValidator.php无法在客户端运行的原因,因为它缺少公共功能clientValidateAttribute($ object,$ attribute),该函数“返回执行客户端验证所需的JavaScript” ...
如果您想知道它的外观,请检查项目文件夹/框架/验证器
最好的问候! 汤姆