繁体   English   中英

jQuery远程验证多个字段

[英]jQuery Remote validation for multiple fields

我有一个包含两个字段的表单:用户ID和电子邮件ID。 我正在尝试验证每个字段的值是否已被使用或是否未使用具有jQuery远程验证的相同php文件。

但是我的困惑是在我的情况下应该如何处理远程文件(validate.php)。 如何确定字段。

我的代码如下:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Validationt</title>


<script type="text/javascript">
$(document).ready(function(){
   $("form").validate({
      rules: {
         userid: {
            required: true,
            remote: {
               url: "validate.php",
               type: "post",
             }
         }
          emailid: {
            required: true,
            remote: {
               url: "validate.php",
               type: "post",
             }
         }
      },
      messages: {
         userid: {
            remote: jQuery.validator.format("userid {0} is already taken")
     }
         emailid: {
            remote: jQuery.validator.format("emailid {0} is already taken")
     }
      }
   });
});
</script
</head>
<body>
<form method="post" id="form" action="">
<input id="userid" name="userid"  type="text" />
<input id="emailid" name="emailid" type="text" />
<input type="submit" name="submit" id="submit"/>
</form>
</body>
</html>

有什么帮助吗?

喜欢,

//validate.php

//get the post fields
$email_address = trim( $_POST["emailid"] );
//check if email exists against database, like
if( is_valid_from_db( $email_address ) ) {
  return TRUE;
}
else {
  return FALSE;
}

我确定您已经查看了以下文档: http : //docs.jquery.com/Plugins/Validation/Methods/remote#options

validate.php只需要执行其所说的验证字段即可。

这个其他问题可能会有所帮助: jQuery远程验证

我也在寻找使用远程方法验证多个字段的问题的答案。

若要分别确定每个字段,则不必为每个字段定义远程方法。 而您可以为“ emailid”字段定义远程方法,并且可以使用data选项在emailid旁边发送“ userid” ,如下所示。

            emailid: {
                required: true,
                remote: {
                   url: "validate.php",
                   type: "post",
                   data: {
                       userid: function() {
                       return $("#userid").val();
                      }
                   }
                 }
             }

所以你可以像这样

<script type="text/javascript">
   $(document).ready(function(){
   $("form").validate({
      rules: {
         userid: {
            required: true
         }
          emailid: {
            required: true,
            remote: {
               url: "validate.php",
               type: "post",
               data: {
                   userid: function() {
                   return $("#userid").val();
                  }
               }
             }
         }
      },
      messages: {
         userid: {
            remote: jQuery.validator.format("userid {0} is already taken")
     }
         emailid: {
            remote: jQuery.validator.format("emailid {0} is already taken")
     }
      }
   });
});
</script>

上面的代码会将userid和emailid发布到您的validate.php中,您可以在其中跟随DemoUser的回答。 但是请确保返回值(真/假)是字符串值

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM