2015-04-03 170 views
0

我有兩個輸入字段考慮一個,現在我想驗證用戶可以輸入至少一個字段要麼是一個場。Yii2依賴自定義規則驗證

有沒有辦法創建一個規則條件?

回答

0

您可以使用閉包創建單獨的規則。這樣的:

[['field_a', 'field_b'], function ($attribute, $params) { 
       // your code 
      }] 

見多doc

3

添加像這樣的規則

public function rules() 
{ 
    return [ 

     [['field_A'],'required','when' => function($model) { 

      return $model->field_B == NULL; 

     }, 'message' => 'Either field_A or field_B is required.'], 

     [['field_B'],'required','when' => function($model) { 

      return $model->field_A == NULL; 

     }, 'message' => 'Either field_A or field_B is required.'], 

} 
+0

嘿薩拉特。我的問題與上述問題類似。你能看看我的問題嗎? http://stackoverflow.com/questions/32969883/custom-validation-not-working-yii2-app-basic-yii2 – 2015-10-06 15:16:30