jQuery的基础部分前面都讲完了,那么就看插件了。
关于jQuery表单验证插件-Validation
validation特点:
- 内置验证规则:拥有必填、数字、E-Mail、URL和信用卡号码等19类内置验证规则
- 自定义验证规则:可以很方便地自定义验证规则
- 简单强大的验证信息提示:默认了验证信息提示,并提供了自定义覆盖默认提示信息的功能
- 实时验证:可以通过keyup或者blur事件触发验证,而不仅仅在表单提交的时候验证
使用方法:
- 引用jQuery库和Validation插件
<script type="text/javascript" src="jquery-2.2.0.min.js"></script> <script type="text/javascript" src="jquery.validate.min.js"></script>
- 确定哪个表单需要被验证,那么就调用即可
$("#myForm").validate();
- 针对不同的字段,进行验证规则编码,设置字段相应的属性
<input id="username" name="username" class="required email" minilength="2" /> <!--在上面设置 required为必填,email验证是否为邮箱,如果是url就验证是否为url,minilength=2为最小长度为2---->
更好的使用方法:
下面的玩法是为了实现与HTML元素无关联,通过name属性来关联字段和验证规则的验证写法,这种写法能实现行为和结构的分离。
- 页面
<input id="myname" name="username"/>
- 代码
$("#myform").validate({ rules:{ username:{ required:true, minlength:2, email:true }, url:"url", comment:"required" } });
国际化
就是这个插件的验证信息默认是英文的。那么要弄成中文,就要引用新的文件:
jquery.validate.messages_cn.js
自定义验证信息
valication插件可以很方便地自定义验证规则。
$("#myform").validate({
rules:{
username:{
required:true,
minlength:2,
email:true
}
}
,messages:{
username:{
required:'请输入账户邮箱',
email:'请输入正确的邮箱地址'
}
}
});
自定义验证信息并美化
例如为验证提示信息加入图片:
$("#myform").validate({ rules:{ username:{ required:true, minlength:2, email:true } } ,errorElement:"myErrorElement"//用来创建错误信息提示标签 ,success:function(label){//验证成功后执行的回调函数 //label指向上面那个错误提示信息标签myErrorElement label.text("") //清空错误消息提示 .addClass("success");//加入自定义的success类 } });
然后在css里面加入对应样式:
myErrorElement.error{ background:url("2.ico") no-repeat 0px 0px; padding-left:48px; } myErrorElement.success{ background:url("1.png") no-repeat 0px 0px; padding-left:48px; }
自定义验证规则
以下为用此jQuery插件实现验证码功能的代码
- 页面
<p> <label for="myValcode">验证码</label> <input id="myValcode" name="valcode">=7+9 </p>
- 代码
//自定义一个验证方法 $.validator.addMethod( "formula", function(value,element,param){ return value==eval(param); }, '请正确输入数学公式计算后的结果' ); //调用该验证规则 $("#myform").validate({ rules:{ username:{ required:true, minlength:2, email:true }, valcode:{formula:7+9} } });