2011-11-25 1 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.' 
     ) 
    ) 
); 

На данный момент, если я заполнить форму со случайным символы, которые он выдает «login Failed», который хорош.

Но как я могу получить доступ к данным проверки, посмотрите, что не удалось?

ответ

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

Thankyou, не понимал, что в этом случае – Chris

+0

Не стоит беспокоиться, рад, что это помогло. –