http://docs.jquery.com/Plugins/Validation
我无法弄清楚如何使用它。它没有在文档中说明如何命名html表单元素以使其与validate()方法一起使用。
和问题nr 2,服务器端使用什么php类验证?
编辑:为什么这不起作用:
$("#register_box_form").validate({
rules: {
name: {
required: true,
minlength: 3
}
email: {
required: true,
minlength: 3,
email: true
}
}
});
答案 0 :(得分:1)
<input type="text" id="email" name="email" class="required email" />
,在此代码中,类属性“required”和“email”的值与在文档就绪函数中的validate方法中定义的规则相同。这意味着class="required email"
等于,
email: {
required: true,
email: true
}
在上面的例子中。 我将告诉包含jquery验证所需的步骤是什么。 (你可能已经知道每一步) 使用jquery验证, 首先,您必须包含主jquery库js文件和jquery验证插件js文件。 然后在准备功能的文档上,您必须将验证功能绑定到所需的表单(如上面的帖子中所述)。 您可以在此验证函数中声明验证规则,也可以作为相关输入元素的class属性的值,如上所述。 有时我在输入元素的id属性和name属性使用不同的值时遇到问题。我不知道它的原因。因此,尝试为id和name属性赋予相同的值,并检查仍然无法验证。
您可以使用已包含的验证规则,例如电子邮件,网址,号码,数字等。 并且还有一个名为“remote”的规则,可用于发送ajax请求并在服务器端进行验证。 除此之外,您还可以根据需要定义自定义规则。 例如,我使用以下代码添加自定义验证规则,以确保密码具有正确的密码策略。
$.validator.addMethod("passwd_policy", function( value, element, param ) {
return this.optional(element)
|| (value.length >= 8
&& /.[!,@,#,$,%,^,&,*,?,_,~]/.test(value)
&& /[0-9]/.test(value)
&& /[a-z]/.test(value)
&& /[A-Z]/.test(value));
},"Your password must be at least 8 characters long, <br/>contain at least one number, <br/>"
+" at least one special character (!,@,#,$,%,^,&,*,?,_ ,~),<br/> at least one uppercase"
+" character <br/>and at least one lowercase character.");
您可以添加此自定义验证方法以验证字段与使用内置方法相同。就像
"txt_passwd": {
passwd_policy: true
},
答案 1 :(得分:0)
您可以为表单中的字段指定规则。它们是键/值对,其中键是字段的名称。
E.g。包含 name 和 email 字段的表单(来自http://docs.jquery.com/Plugins/Validation/validate#options的文档)
$(".selector").validate({
rules: {
// simple rule, converted to {required:true}
name: "required",
// compound rule
email: {
required: true,
email: true
}
}
})
您可以将Zend Framework用于php部分。它有一些JQuery integration,但不适用于Validation插件(还有?)。
编辑:在您的示例中,规则文字的两个元素之间缺少逗号。
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript" src="http://dev.jquery.com/view/trunk/plugins/validate/jquery.validate.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#register_box_form").validate( {
rules: {
name: {
required: true,
minlength: 3
},
email: {
required: true,
email: true
}
}
});
});
</script>
</head>
<body>
<form method="post" action="?" id="register_box_form">
<div>
<input type="text" name="name" /><br />
<input type="text" name="email" /><br />
<input type="submit" />
</div>
</form>
</body>
</html>