2017-06-16 6 views
0

アクションの名前とそのパラメータを使用して、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

を教えてください条件付き検証を作成します。この種のルールでは、独自の関数を書くことができます。例えば

:詳細については、について説明

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

official doc

をチェックしてください
関連する問題