jQuery.validator.addMethod 添加验证方法

本文介绍如何使用jQuery Validation插件自定义一个名为'byteMaxLength'的验证方法,该方法可以限制输入字段的最大字节长度,并考虑了中文字符占用两个字节的特点。

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



jQuery.validator.addMethod( name, method [, message ] )
参考:http://jqueryvalidation.org/jQuery.validator.addMethod/


第一个参数 : “byteMaxLength”  是定义方法名,必须保证方法名唯一,是一个identifier标志。

第二个参数: 是下面这个回调(callback)函数:

第三个参数: 验证的提示信息 为了显示函数的验证的信息,这个参数也可以通过创建函数jQuery.validator.format(value)来显示,其中 {0} 代表 该方法 的参数如果  方法调用如: byteMaxLength : 10  上面的输入就是 不能超过10个字节,(一个中文字算两个字节)

jQuery.validator.addMethod("byteMaxLength", 
    function(value, element, param) {  
        var length = value.length;  
        for ( var i = 0; i < value.length; i++) {  
            if (value.charCodeAt(i) > 127) {  
                length++;  
            }  
        }  
        return this.optional(element) || (length <= param);  
    }, $.validator.format("不能超过{0}个字节(一个中文字算2个字节)"));  

回调函数有三个参数:
  第一个:value ,是当前验证的元素的值。

  第二个: element  是当前被验证的元素。

 第三个:是传入的参数,例如: min : 5  这个参数为5,   对于本方法调用的时候,例如:byteMaxLength:10  其中10为传入参数。

这个方法的方法名为: byteMaxLength  回调函数如上,


return  this.optional(element)   这个函数调用的意思是: 用于表单输入值不为空时验证,当field为空时,即element的值为空,this.optional(element) = true, 就是说该filed不是必填项,当不填时也通过验证, 如果element的值不为空  this.optional(element) = false 就要根据  ||  后面的验证来判断返回为truefalse的目的,总结起来 this.optional(element) 就是为了说明  当前验证的 field不是必填项。











评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

半山猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值