我有一个包含两个字段用户ID和电子邮件ID的表单。我正在尝试验证每个字段的值是否已经采用或不使用相同的php文件与jQuery远程验证。
但我的困惑是我的情况应该是远程文件(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>
任何帮助?
答案 0 :(得分: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;
}
答案 1 :(得分:0)
我相信你已经查看了文档: http://docs.jquery.com/Plugins/Validation/Methods/remote#options
validate.php只需要执行它所说的验证字段。
这个问题可能会有所帮助: jQuery Remote validation
答案 2 :(得分:0)
我也在寻找使用远程方法验证多个字段的问题的答案。
要分别确定每个字段,您不必为每个字段定义远程方法。您可以为“emailid”字段定义远程方法,然后您可以使用数据选项在emailid旁发送'userid',如下所示。
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>
以上内容会将userid和emailid发布到您的validate.php,您可以在其中关注DemoUser的答案。但请确保返回值(true / false)是字符串值