是否可以在Yii2中为模型创建自定义规则 行动名称及其参数。
我知道模型中的规则可以通过 操作来创建。
因为我有这样的模型和控制器:
模型
public function rules()
{
$rules = [
[['pre_approved_by', 'pre_approved_date'], 'required', 'on' => 'pre'],
[['first_approved_by', 'first_approved_date'], 'required', 'on' => 'first'],
];
return $rules;
}
控制器
public function acctionApprove($hierarchy, $id){
$model = $this->findModel($id);
if($hierarchy != 1){
$model->scenario = "pre";
}else{
$model->scenario = "first";
}
}
请告知
答案 0 :(得分:0)
您可以创建条件验证。通过这种规则,您可以编写自己的函数。
例如:
['state', 'required', 'when' => function($model) {
return $model->country == 'USA';
}]
有关详细说明,请查看official doc