【发布时间】:2015-06-05 08:15:21
【问题描述】:
我正在尝试在我的模型中使用此验证规则,但它不起作用。
我的意思是,即使选择其他选项,它也始终是安全的。
[['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'],
编辑 根据文档的安全属性公共属性
$when - callable - 一个 PHP 可调用对象,其返回值决定 是否应应用此验证器。 yii\validators\Validator
$whenClient - 字符串 - 返回值的 JavaScript 函数名 确定此验证器是否应应用于客户端 边。 yii\validators\Validator
【问题讨论】:
-
这个属性还有其他规则吗?
-
您真的要使用“安全”验证器吗? Doc 说 SafeValidator 充当虚拟验证器,其主要目的是标记属性以确保大规模分配是安全的。 所以如果 bill_type 为 'd',你想禁止分配 dhanwantri_bill_number 吗?跨度>
-
-
@topherkanyuga - 不,我对此属性没有其他规则。
-
啊,好吧。我以为...