2011-11-25 53 views
1

我有一個AJAX登錄表單。我使用CakePHP表單助手來創建表單而不是錯誤消息。獲取驗證回覆

的表單中的數據被髮送到控制器:

public function login() 
{ 
    if ($this->request->is('ajax')) { 
     if($this->Auth->login()) { 
      echo "logged In"; 
     } else { 
      echo "Login Failed"; 
     } 
     exit; 
    } 
} 

然後我在我的控制器,驗證數組:

public $validate = array(
    'AccountEmail' => array(
     'required' => array(
      'rule' => array('notEmpty'), 
      'message' => 'Please Enter A Valid Email.' 
     ) 
    ), 
    'AccountPassword' => array(
     'required' => array(
      'rule' => array('notEmpty'), 
      'message' => 'Please Enter A Valid Password.' 
     ) 
    ) 
); 

此刻,如果我填的隨機形式字符它回聲'登錄失敗'這是很好的。

但是我怎樣才能訪問驗證數據也看到失敗?

回答

1

克里斯,模型驗證規則試圖保存更新數據上用戶模型時才被使用。

雖然仍然可以通過驗證控制器中的數據來返回驗證消息。類似的東西:

/** 
* Set data against the data model 
*/ 
$this->User->set($this->request->data); 

/** 
* Validate data and return any error messages 
*/ 
$errors = $this->User->validates(); 
+0

謝謝,沒有意識到是這樣的情況 – Chris

+0

不用擔心,很高興它有幫助。 –