使用 AJAX 验证电子邮件地址

发布于 2024-11-25 19:13:53 字数 109 浏览 2 评论 0原文

有没有一种简单的方法可以使用 Ajax 检查电子邮件地址是否有效?我当前正在使用 sfValidatortEmail 小部件,这仅在提交表单时显示错误消息。

谢谢

Is there an easy way to check an email address is valid using Ajax? I'm using the sfValidatortEmail widget currently and this only shows an error message on submitting the form.

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

吐个泡泡 2024-12-02 19:13:53

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

I'm assuming you know how to write ajax requests. In the action you'd have something like

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
}
昇り龍 2024-12-02 19:13:53

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

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

You'd need to add some Javascript/Jquery to fire an Ajax request to check the email, possibly linked to when the user clicks out of the email input box (blur function). This would be separate from your form class (assuming that the form has other elements too), but you could use the same action to handle the request if you wish:

if ($request->isXmlHttpRequest()) {
  // handle ajax check
} else {
  // handle normal post
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文