2015-05-04 59 views

回答

1

任何解決方案,我認爲你有&申報一個字段設置的規則,像

//in your model 

    public $validate = array(
     'first_name' => array(
      'rule-1' => array(
       'rule' => 'alphaNumeric', 
       'message' => 'Only alphabets and numbers allowed', 
      ), 
      'rule-2' => array(
       'rule' => array('minLength', 8), 
       'message' => 'Minimum length of 8 characters' 
      ) 
     ), 
    ); 

這裏你可以看到我有定義模型字段first_name的兩個規則。現在,我嘗試刪除loginRule-2

// in your controller 

    public function add() { 
     if ($this->request->is('post')) { 
      $this->User->create(); 

      // // Completely remove all rules for a field 
      $this->User->validator()->remove('first_name'); 
      $this->User->validator()->add('first_name', 'required', 
      array(
       'rule' => 'notEmpty' 
      )); 
      if ($this->User->save($this->request->data)) { 
       $this->Session->setFlash(__('The user has been saved.'), 'default', array('class' => 'alert alert-success')); 
       return $this->redirect(array('action' => 'index')); 
      } else { 
       $this->Session->setFlash(__('The user could not be saved. Please, try again.'), 'default', array('class' => 'alert alert-danger')); 
      } 
     } 
    } 

你可以看看CakePHP Cookbook 2.x documentation for Removing rules from the set

就是這樣。

+0

感謝您的回答。但是我想檢查4中的一個規則。現在我有4條規則。所以我必須把3驗證器刪除。將來有機會添加另一條規則。所以那個時候我不得不添加驗證器刪除我不想要的新規則。 –

+0

@Arockiam,您需要刪除您的字段的所有規則,然後需要新的驗證規則作爲您的要求。我也更新了我的答案。 – Supravat

+0

好的。瞭解。謝謝 –