jQuery验证控件jquery.validate.js使用说明+中文API
这是详细博文地址:http://www.cnblogs.com/hejunrex/archive/2011/11/17/2252193.html
其实用起来并不难,但是有一点需要注意:表单中的<input>标签取id和name的时候要留心。
一般我们都会将id和name的名字命名为相同。这是细节和习惯问题。我想要提的是,在使用validate表单验证控件中,你对input设置规则的时候,有一种方式是采用在js下编写rule。如下:
$().ready(function() {
$("#signupForm").validate({
rules: {
firstname: "required",
email: {
required: true,
email: true
},
password: {
required: true,
minlength: 5
},
confirm_password: {
required: true,
minlength: 5,
equalTo: "#password"
}
},
messages: {
firstname: "请输入姓名",
email: {
required: "请输入Email地址",
email: "请输入正确的email地址"
},
password: {
required: "请输入密码",
minlength: jQuery.format("密码不能小于{0}个字 符")
},
confirm_password: {
required: "请输入确认密码",
minlength: "确认密码不能小于5个字符",
equalTo: "两次输入密码不一致不一致"
}
}
});
});
其中firstname、email、password、confirm_password就是<input>标签中的name属性值。应该是该插件的一个bug,当name属性值为first-name这种形式,即带有连字符时,控件会失效=.=,但如果是下划线则是没有问题的。~~因为我有带连字符命名的习惯,然后,然后。。。。就是n久的调试才发现控件失效的真正原因。
不过,还是很感谢开源代码^_^。
个人觉得,这个控件有一个很好的地方——在email验证中,根据我用的测试用例,我发现控件所采用的验证规则是:将email地址分成三部分(其实就是正则表达式的应用),part1@part2.part3。其中"@"自然是少不了,part1部分要求是合法的字符(数字、字母、连字符等等)part1的验证功能很好;part3部分必须是".com",当然这是毫无疑问正确的。而一个好的地方就在于part2的验证中,作者没有强制要求一个字段,允许小圆点的存在“.”。可能有人要说,截止到目测过的邮箱都是这样的——"@126.com"、"@139.com"......应该对于类似"@pop.126.com"的邮箱直接验证不通过嘛。嘿嘿,起初我也是这么想的,但是为了防止我的片面臆断,特意baidu+google了下,发现其实事情并非如此。"@"字符后面是服务器的端口号:IMAP服务器:imap.126.com SMTP服务器:smtp.126.com。所以在part2部分出现小圆点"."你还真心不能简单报个错就了事了。更何况,人家都到注册账号这一步了,我们多想ta加入我们这个大家庭呀。所以,作为代码创造者,我们应该尽可能为来访者提供尽可能的方便^_^。