我想在我的模型中使用此验证规则,但它不工作。Yii2:安全验证条件
我的意思是即使选择其他选项,它总是保持安全。
[['dhanwantri_bill_number'], 'safe',
'when' => function($model) {
return $model->bill_type =='d';
},
'whenClient' => "function (attribute, value) {
return $('#opdtestbill-bill_type').val() == 'd';
}"
],
我做错了什么? 是否有任何其他解决方案来实现相同。
谢谢。
规则bill_type
就像
[['bill_type'], 'string', 'max' => 20],
[['bill_type','test_name','date'], 'required'],
编辑 安全属性,公共属性,按照Doc
$当 - 赎回 - 一个PHP调用,其返回值决定 这是否确认者应应用。 yii \ validators \ Validator
$ whenClient - string - 一个JavaScript函数名,其返回值为 确定是否应将此验证程序应用于客户端 一侧。验证者
对此属性还有其他规则吗? – topher 2015-04-01 06:29:31
你真的想使用'安全'验证吗? [Doc](http://www.yiiframework.com/doc-2.0/yii-validators-safevalidator.html)表示_SafeValidator充当一个虚拟验证器,其主要目的是标记属性对于大规模赋值是安全的。如果bill_type为'd',你想禁止赋值dhanwantri_bill_number? – robsch 2015-04-01 06:37:42
@robsch - 不,这完全相反 - 如果bill_type为'd',并且在其他情况下不允许'dhanwantri_bill_number',我想允许赋值。 – Pawan 2015-04-01 08:21:17