基于模型的操作和参数的规则方案

时间:2017-06-16 08:05:15

标签: php yii2

是否可以在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";
   }

}

请告知

1 个答案:

答案 0 :(得分:0)

您可以创建条件验证。通过这种规则,您可以编写自己的函数。

例如:

['state', 'required', 'when' => function($model) {
    return $model->country == 'USA';
}]

有关详细说明,请查看official doc