使用AJAX验证电子邮件地址

时间:2011-07-22 12:02:44

标签: symfony1 symfony-1.4 symfony-forms

使用Ajax检查电子邮件地址是否有效?我目前正在使用sfValidatortEmail窗口小部件,这只显示提交表单的错误消息。

由于

2 个答案:

答案 0 :(得分:1)

您需要添加一些Javascript / Jquery来触发Ajax请求来检查电子邮件,可能链接到用户点击电子邮件输入框时(模糊功能)。这将与您的表单类别分开(假设表单也有其他元素),但如果您愿意,可以使用相同的操作来处理请求:

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

答案 1 :(得分:1)

我假设您知道如何编写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
}