0

我有一个包含两个字段用户 ID 和电子邮件 ID 的表单。我正在尝试验证每个字段的值是否已使用或未使用带有 jQ​​uery 远程验证的相同 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>

有什么帮助吗?

4

3 回答 3

1

喜欢,

//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;
}
于 2013-01-16T08:57:59.127 回答
0

我相信你已经看过文档: http ://docs.jquery.com/Plugins/Validation/Methods/remote#options

validate.php 只需要按照它所说的来验证字段。

这个其他问题可能会有所帮助: jQuery Remote validation

于 2013-01-16T08:57:51.567 回答
0

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

要单独确定每个字段,您不必为每个字段定义远程方法。而您可以为“emailid”字段定义远程方法,并且可以使用 data 选项将“userid”与 emailid 一起发送,如下所示。

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

所以你可以像这样拥有你的js

<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>

上面会将用户 ID 和电子邮件 ID 发布到您的 validate.php 中,您可以在其中遵循 DemoUser 的回答。但请确保返回值(真/假)是字符串值

于 2015-07-01T16:09:08.797 回答