jquery validate

本文详细介绍了表单验证的实现方法,包括如何使用jQuery插件Validation进行表单验证,提供了验证规则和提示信息的配置示例,以及如何自定义验证规则和调整插件样式以提升用户体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写道

jQuery(function($) {
// 验证
$("#appendinfo").validate( {
debug : false,
rules : {
"user.userName" : {
required : true,
maxlength : 500
}
},
messages : {
"user.userName" : {
required : "用户名不能为空",
maxlength : "请不要超过500个字符"
}
},
errorPlacement : function(error, element) {
error.appendTo(element.parent());
}

});

});

 一、用前必备
官方网站:http://bassistance.de/jquery-plugins/jquery-plugin-validation/
API: http://jquery.bassistance.de/api-browser/plugins.html
当前版本:1.8.1

需要JQuery版本:1.3.2+, 兼容 1.3.2
<script src="js/jquery.js" type="text/javascript"></script>
<script src="js/jquery.validate.js" type="text/javascript"></script>

<script src="js/jquery.metadata.js" type="text/javascript"></script>

二、默认校验规则
(1)required:true              必输字段
(2)remote:"check.php"          使用ajax方法调用check.php验证输入值
(3)email:true                  必须输入正确格式的电子邮件
(4)url:true                    必须输入正确格式的网址
(5)date:true                  必须输入正确格式的日期
(6)dateISO:true                必须输入正确格式的日期(ISO),例如:2009-06-23,1998/01/22 只验证格式,不验证有效性
(7)number:true                必须输入合法的数字(负数,小数)
(8)digits:true                必须输入整数
(9)creditcard:                必须输入合法的信用卡号
(10)equalTo:"#field"          输入值必须和#field相同
(11)accept:                    输入拥有合法后缀名的字符串(上传文件的后缀)
(12)maxlength:5                输入长度最多是5的字符串(汉字算一个字符)
(13)minlength:10              输入长度最小是10的字符串(汉字算一个字符)
(14)rangelength:[5,10]        输入长度必须介于 5 和 10 之间的字符串")(汉字算一个字符)
(15)range:[5,10]              输入值必须介于 5 和 10 之间
(16)max:5                      输入值不能大于5
(17)min:10                    输入值不能小于10

三、默认的提示
messages: {
    required: "This field is required.",
    remote: "Please fix this field.",
    email: "Please enter a valid email address.",
    url: "Please enter a valid URL.",
    date: "Please enter a valid date.",
    dateISO: "Please enter a valid date (ISO).",
    dateDE: "Bitte geben Sie ein g眉ltiges Datum ein.",
    number: "Please enter a valid number.",
    numberDE: "Bitte geben Sie eine Nummer ein.",
    digits: "Please enter only digits",
    creditcard: "Please enter a valid credit card number.",
    equalTo: "Please enter the same value again.",
    accept: "Please enter a value with a valid extension.",
    maxlength: $.validator.format("Please enter no more than {0} characters."),
    minlength: $.validator.format("Please enter at least {0} characters."),
    rangelength: $.validator.format("Please enter a value between {0} and {1} characters long."),
    range: $.validator.format("Please enter a value between {0} and {1}."),
    max: $.validator.format("Please enter a value less than or equal to {0}."),
    min: $.validator.format("Please enter a value greater than or equal to {0}.")
}

可以直接修改默认的信息

使用方式一(直接在文本框的class中写验证规则)

<script type="text/javascript">
$(document).ready(function() {
 $("#commentForm").validate(); 
});
</script>
html 页面代码:

直接在输入的文本框中写class="required email"验证规则,还有josn数据格式的class="{required:true,email:true}" 

复制代码
< form  class ="cmxform"  id ="commentForm"  method ="post"  action ="" >
    
< fieldset >
        
< legend > 请输入姓名和邮件地址! </ legend >
        
< p >
            
< label  for ="cname" > 姓名 (必填,至少两个字符) </ label >
            
< input  id ="cname"  name ="name"  class ="required"  minlength ="2"   />
        
</ p >
        
< p >
            
< label  for ="cemail" > 邮箱 (必填) </ label >
            
< input  id ="cemail"  name ="email"   class="{required:true,email:true}"   />
        
</ p >
        
< p >
            
< label  for ="curl" > 网址 (可选) </ label >
            
< input  id ="curl"  name ="url"  class ="url"  value =""   />
        
</ p >
        
< p >
            
< label  for ="ccomment" > 留言 (必填) </ label >
            
< textarea  id ="ccomment"  name ="comment"  class ="required" ></ textarea >
        
</ p >
        
< p >
            
< input  class ="submit"  type ="submit"  value ="Sub mit" />
        
</ p >
    
</ fieldset >
</ form >
复制代码

使用方式二,自定义rules验证规则,测试的页面代码是上面的

<script type="text/javascript">
$(document).ready(function() {        
 //$("#commentForm").validate();
 $("#commentForm").validate({         
    rules:{
     cname:{
      required:true,
      rangelength:[2,10]
      }     
     } 
     //自定义验证信息
       message:{
         cname:{
      required:"用户名不能为空",
      rangelength:$.validator.format("输入的范围在 {0}-{1} 之间的字符.")
      }
  }


  })
});
</script>
最后为了提高用户体验,

样式应该这样写:

复制代码
<style type="text/css">
        
/* ***********jQuery.Validate插件样式开始******************* */
        label.error
        
{
            background
:  url(images/error.png) no-repeat 0px 0px ;
            color
:  Red ;
            padding-left
:  20px ;
        
}
        label.success
        
{             
           background
: url("images/checked.gif") no-repeat 0px 0px ;  
        
}
        input.error
        
{
            border
:  dashed 1px red ;
        
}
        
/* ***********jQuery.Validate插件样式结束******************* */
</style>
复制代码

注意:其中的label是默认的装载提示信息的文本框,其中的error也是默认的样式,而success是添加的

脚本代码应该改为:

 

复制代码
< form  class ="cmxform"  id ="commentForm"  method ="post"  action ="" >
    
< fieldset >
        
< legend > 请输入姓名和邮件地址! </ legend >
        
< p >
            
< label  for ="cname" > 姓名 (必填,至少两个字符) </ label >
            
< input  id ="cname"  name ="name"  class ="required"  minlength ="2"   />
        
</ p >
        
< p >
            
< label  for ="cemail" > 邮箱 (必填) </ label >
            
< input  id ="cemail"  name ="email"  class ="required email"   />
        
</ p >
        
< p >
            
< label  for ="curl" > 网址 (可选) </ label >
            
< input  id ="curl"  name ="url"  class ="url"  value =""   />
        
</ p >
        
< p >
            
< label  for ="ccomment" > 留言 (必填) </ label >
            
< textarea  id ="ccomment"  name ="comment"  class ="required" ></ textarea >
        
</ p >
        
< p >
            
< input  class ="submit"  type ="submit"  value ="Submit" />
        
</ p >
    
</ fieldset >
</ form >
复制代码
 

 

 测试的源码提供下载(和博客的有点不一样,因为我是写给自己备忘的,不过是源码中提炼出来的):/Files/Jaylong/表单验证.zip

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值