3:通过jQuery遍历页面中所有calss为noNull的表单,验证其是否为空,若为空,通过获取notNull的字段,进行为空提示。
具体如何设置,请参照下面的案例。本章针对input,radio,select,checkbox等类型都进行了阐述。
下面给大家介绍jquery.validate.js验证插件姓名:
性别: 男 女
年龄: 请选择 1 2
兴趣: 打球 唱歌 跳舞
function bubmi(){ $(".noNull").each(function(){ var name = $(this).attr("name"); if($(this).val()==""){ alert($(this).attr('notNull')+"不能为空");return false; } if($(this).attr("type")=="radio"){ if ($("input[name='"+name+"']:checked").size() < 1){ alert($(this).attr('notNull')+"不能为空!"); return false; } } if($(this).attr("type")=="checkbox"){ if ($('input[name="'+name+'"]:checked').size() < 1){ alert($(this).attr('notNull')+"不能为空!"); return false; } } }) }
jquery.validate.js是jquery旗下的一个验证插件,借助jquery的优势,我们可以迅速验证一些常见的输入,并且可以自己扩充自己的验证方法。
举个例子,有这么一个表单:
required: “必选字段”,
remote: “请修正该字段”,
email: “请输入正确格式的电子邮件”,
url: “请输入合法的网址”,
date: “请输入合法的日期”,
dateISO: “请输入合法的日期 (ISO).”,
number: “请输入合法的数字”,
digits: “只能输入整数”,
creditcard: “请输入合法的信用卡号”,
equalTo: “请再次输入相同的值”,
accept: “请输入拥有合法后缀名的字符串”,
maxlength: jQuery.format(“请输入一个长度最多是 {0} 的字符串”),
minlength: jQuery.format(“请输入一个长度最少是 {0} 的字符串”),
rangelength: jQuery.format(“请输入一个长度介于 {0} 和 {1} 之间的字符串”),
range: jQuery.format(“请输入一个介于 {0} 和 {1} 之间的值”),
max: jQuery.format(“请输入一个最大为 {0} 的值”),
min: jQuery.format(“请输入一个最小为 {0} 的值”)
然后,在document的read事件中,加入如下方法:
$(document).ready(function(){ $("#signupForm").validate(); }这样,当form被提交的时候,就会根据input指定的class来进行验证了。如果失败,form的提交就会被阻止。并且,将提示信息显示在input的后面。
不过,这样感觉不好,因为验证规则侵入了我们的html代码。还有一个方式,便是使用“rules”。我们将input的那些验证用class删除掉。然后修改document的ready事件响应代码:
$(document).ready(function(){$("#signupForm").validate({rules:{firstname:"required",lastname:"required",username:"required",password:"required",confirm_password:{required:true,equalTo:"#password"},email:{required:true,email:true}}});})这样以来,也能达到相同的效果。
那么,接下的问题,就是显示的错误提示是默认的。我们需要使用自定义的提示:
$(document).ready(function(){$("#signupForm").validate({rules:{firstname:"required",lastname:"required",username:"required",password:"required",confirm_password:{required:true,equalTo:"#password"},email:{required:true,email:true}},messages:{firstname:"必填项",lastname:"必填项",username:"必填项",password:"必填项",confirm_password:{required:"必填项",equalTo:"密码不一致"},email:{required:"必填项",email:"格式有误"}}});})如果你还想在错误信息上显示特别的样式(比如字体为红色)即可通过添加:
#signupForm label.error {padding-left: 16px;margin-left: 2px;color:red;background: url(img/unchecked.jpg) no-repeat 0px 0px;}继续添加对输入密码长度的验证规则:
$(document).ready(function(){$("#signupForm").validate({rules:{firstname:"required",lastname:"required",username:"required",password:{required:true,minlength:4,maxlength:15},confirm_password:{required:true,equalTo:"#password"},email:{required:true,email:true}},messages:{firstname:"必填项",lastname:"必填项",username:"必填项",password:{required:"必填项",minlength:jQuery.format("密码长度不少于{0}位"),maxlength:jQuery.format("密码长度不超过{0}位")},confirm_password:{required:"必填项",equalTo:"密码不一致"},email:{required:"必填项",email:"格式有误"}}});})使用remote
可以通过event指定触发效验方式(可选值有keyup(每次按键时),blur(当控件失去焦点时),不指定时就只在按提交按钮时触发)
$(document).ready(function(){$("#signupForm").validate({event:"keyup" || "blur"})})如果通过指定debug为true则表单不会提交只能用来验证(默认为提交),可用来调试
$(document).ready(function(){$("#signupForm").validate({debug:true})})如果在提交前还需要进行一些自定义处理使用submitHandler参数
$(document).ready(function(){$("#signupForm").validate({SubmitHandler:function(){alert("success");}})})
表单验证插件Validation应用的实例讲解【jquery】 | 表单验证插件Validation应用的实例讲解【jquery】 ...
jquery表单验证 常用表单验证类,有了这个,一般的验证就都齐了。 | jquery表单验证 常用表单验证类,有了这个,一般的验证就都齐了。 ...