2016-05-04 14 views
1

CandidateResumeNameが入力されていない場合は、このフィールドを入力したいと思う編集シナリオでフォームを検証しようとしています。これは私が試している方法ですが、動作しません。yii2のシナリオを使用した条件付き検証

[['CandidateResumeName'], 'required', 'when' => function($model) {        
       if($model->HRMS_CandidateResumeName == "") 
        return true; 
       },'on' => 'edit'], 

助けてください!

+2

必要なバリデータはすでに空の値をチェックします。 – Alex

+0

$ model-> HRMS_CandidateResumeNameがnullの場合にチェックしたい – Piyush

+0

'edit'シナリオを設定しましたか? –

答えて

0

あなたがあなたのルールは、この

['CandidateResumeName', 'required', 'on' => 'edit'], 

カスタムシナリオのようになります。適切

0

editシナリオを定義し、設定することを忘れないでください内部配列

['CandidateResumeName', 'required', 'when' => function($model) {        
      if($model->HRMS_CandidateResumeName == "") 
       return true; 
      },'on' => 'edit'], 

を削除する必要があります。

あなたのモデルで

public function scenarios(){ 
     $scenarios = parent::scenarios(); 
     $scenarios['edit'] = ['CandidateResumeName']; 
     return $scenarios; 
    } 

コントローラ

public function actionCreate(){ 
    ---  
$model->scenario = 'edit'; 
    --- 
} 
関連する問題