2015-02-04 10 views
8

मैं निम्नलिखित नियमों और परिदृश्योंYii2 सत्यापन नियम एक परिदृश्यों के लिए विशिष्ट

public function rules(){ 
     return [ 
      [['name','email','password'],'required'], 
      ['email','myvalidation'], 
      ['email','email'], 
      [['name', 'email', 'password'], 'required', 'on' => 'register'], 
      ]; 
    } 




public function scenarios() 
    { 
     $scenarios = parent::scenarios(); 
     $scenarios['login'] = ['name','password','email'];//Scenario Values Only Accepted 
     return $scenarios; 
    } 

मैं चाहता हूँ rule'myvalidation' केवल login परिदृश्य के लिए और वे बिल्कुल ही नहीं अन्य cases.How इस Yii2 में प्राप्त किया जा सकता में लागू ?

उत्तर

12

बस इस सत्यापन नियम में on संपत्ति निर्दिष्ट करें:

['email', 'myvalidation', 'on' => 'login'], 
9

याद रखें कि आप भी "को छोड़कर" का उपयोग कर सकते हैं। उदाहरण में:

public function rules() 
     { 
      return [ 
       [['first_name', 'email', 'phone', 'password'], 'required', 'except' => 'changepassword'], 
       [['password'], 'required', 'on' => 'changepassword'] 
]} 
+0

इस मैं ,,, के लिए क्या देख रहा हूँ बहुत बहुत धन्यवाद है .. –

+0

क्या वहाँ ChangePassword है? – 981

+0

यह एक परिदृश्य है। वह नियम केवल तभी लागू होता है जब आप उस परिदृश्य को सेट करते हैं :) – Eduardo

संबंधित मुद्दे