jQuery远程验证电子邮件验证服务

时间:2017-12-02 03:14:15

标签: jquery validation email

我需要针对电子邮件验证服务验证电子邮件。

问题是我无法控制服务php。 该服务返回"有效"和"无效"响应。

据我所知,jQuery验证要求是真还是假。

远程网址为http://i2srv.com/validate/

示例:http://i2srv.com/validate/?email=skyhawk133@gmail.com 它必须以这种格式发送。

这是我尝试过的。

remote: {      
    url: "http://i2srv.com/validate/",
    type: "post",
    complete: function(data) {
        if( data.responseText == "valid" ) {
            alert("Email is OK");
        }
    }
}

1 个答案:

答案 0 :(得分:0)

根据remote方法的文档选项深度扩展默认值(dataType:"json", data:{nameOfTheElement:valueOfTheElement})。您提供的任何选项都将覆盖默认值。

最重要

  

通过jQuery.ajax(XMLHttpRequest)调用serverside资源   获取与已验证的名称对应的键/值对   元素及其作为GET参数的值。

所以您不必使用post方法,只需将dataType更改为html

remote: {
      url: "https://i2srv.com/validate/",
      dataType: 'html',
      complete: function(data) {
        if (data.responseText == "valid") {
          alert("Email is OK");
        }
      }
    }

参见下面的演示

$(document).ready(function() {
  $("#signupform").validate({
    rules: {
      firstname: "required",
      lastname: "required",
      email: {
        required: true,
        email: true,
        remote: {
          url: "https://i2srv.com/validate/",
          dataType: 'html',
          complete: function(data) {
            if (data.responseText == "valid") {
              alert("Email is OK");
            }
          }
        }
      }
    },
    messages: {
      firstname: "please enter firstname",
      lastname: "please enter firstname",
    }
  });
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.17.0/jquery.validate.js"></script>
<div id="signupwrap">
  <form id="signupform" autocomplete="off" method="get" action="">
    <table>
      <tr>
        <td class="label">
          <label id="lfirstname" for="firstname">First Name</label>
        </td>
        <td class="field">
          <input id="firstname" name="firstname" type="text" value="" maxlength="100">
        </td>
        <td class="status"></td>
      </tr>
      <tr>
        <td class="label">
          <label id="llastname" for="lastname">Last Name</label>
        </td>
        <td class="field">
          <input id="lastname" name="lastname" type="text" value="" maxlength="100">
        </td>
        <td class="status"></td>
      </tr>

      <tr>
        <td class="label">
          <label id="lemail" for="email">Email Address</label>
        </td>
        <td class="field">
          <input id="email" name="email" type="text" value="" maxlength="150">
        </td>
        <td class="status"></td>
      </tr>

      <tr>
        <td class="label">
          <label id="lsignupsubmit" for="signupsubmit">Signup</label>
        </td>
        <td class="field" colspan="2">
          <input id="signupsubmit" name="signup" type="submit" value="Signup">
        </td>
      </tr>
    </table>
  </form>