проверка адреса электронной почты с использованием AJAX - PullRequest
0 голосов
/ 22 июля 2011

Есть ли простой способ проверить правильность адреса электронной почты с помощью Ajax? Я использую виджет sfValidatortEmail в настоящее время, и это только показывает сообщение об ошибке при отправке формы.

Спасибо

Ответы [ 2 ]

1 голос
/ 26 июля 2011

Я предполагаю, что вы знаете, как писать ajax-запросы. В действии у вас будет что-то вроде

if ($request->isXmlHttpRequest()) {
  // handle ajax check
  try{
    $validator = new sfValidatorEmail();
    $validator->clean($request->getParameter('email'));
    // good to go
  } catch(sfValidatorError $e){
    // invalid email
    $this->getResponse()->setStatusCode(400);
  }
} else {
  // handle normal post
}
1 голос
/ 22 июля 2011

Вам нужно добавить Javascript / Jquery, чтобы запустить Ajax-запрос для проверки электронной почты, возможно, связанный с тем, когда пользователь щелкает из поля ввода электронной почты (функция размытия). Это будет отдельно от вашего класса формы (при условии, что форма имеет и другие элементы), но вы можете использовать то же действие для обработки запроса, если хотите:

if ($request->isXmlHttpRequest()) {
  // handle ajax check
} else {
  // handle normal post
}
...