`
lucky_god
  • 浏览: 37447 次
社区版块
存档分类
最新评论

jquery.validate.js addMethod添加自定义方法无法作为class验证规则

阅读更多
环境:
jquery.validate-1.15.js、chrome浏览器

业务:
添加一个自定义非中文验证,并添加在form标签的class上

步骤:
1、在项目中引入additional-methods.js文件
2、在additional-methods.js末尾添加代码
//自定义规则	不包含中文(双字节)
jQuery.validator.addMethod("noCn", function(value, element, param) {
	return !(/[^\x00-\xff]/.test(value));
}, jQuery.format("不能输入中文"));

3、将规则noCn添加到表单输入框中
<form:input path="roomcode" htmlEscape="false" maxlength="20" class="input-xlarge required noCn"/>
4、输入中文,验证

结果:
未进入自定义验证方法中。

修复:
自定义方法更改为
jQuery.validator.addMethod("noCn", function(value) {
	return !(/[^\x00-\xff]/.test(value));
}, jQuery.format("不能输入中文"));


总结:
jquery.validate.js源文件中的addMethod方法定义如下:
引用
addMethod: function( name, method, message ) {
        $.validator.methods[name] = method;
        $.validator.messages[name] = message !== undefined ? message : $.validator.messages[name];
        if ( method.length < 3 ) {
        $.validator.addClassRules(name, $.validator.normalizeRule(name));
        }
}

当匿名函数定义为三个参数时,method.length值是等于3的,所以不会加入到classRules中去,我觉得判断可以加上isFunction的判断,没有深入研究,不知道这算不算官方的BUG

分享到:
评论

相关推荐

    jQuery.validate.js

    5. **自定义验证方法**:使用`$.validator.addMethod()`可以添加新的验证方法,比如`$.validator.addMethod("customMethod", function(value, element) {...}, "错误消息");`。 三、jQuery.validate.js进阶应用 1....

    jquery.validate1.7验证插件最新版

    5. **可扩展性**:允许添加自定义验证方法,满足特殊验证需求。 6. **国际化支持**:可以轻松切换不同的语言环境。 ### 二、安装与引入 在项目中使用jQuery Validate,首先需要确保已引入jQuery库,然后引入...

    jQuery.validate实例

    jQuery.validate提供了多种内置验证方法,如`required`(必填)、`email`(电子邮件格式)、`minlength`(最小长度)等。同时,我们还可以自定义验证规则,通过`.addMethod()`函数实现: ```javascript $.validator...

    jquery.validate表单验证插件使用方法解析

    自定义验证规则也可以通过jQuery.validator.addMethod方法实现。这个方法允许开发者创建一个自定义的验证函数,并可以将其加入到现有的验证规则中。例如,添加一个用户名验证规则: ```javascript jQuery.validator...

    jQuery验证控件jquery.validate.js使用说明+中文API

    总之,jQuery validate.js是一个强大且灵活的表单验证工具,它提供了丰富的内置规则、自定义规则的能力以及各种事件回调,能够满足大多数表单验证需求。结合其中文API文档,开发者可以轻松实现高效且用户友好的表单...

    jquery.validate.js验证

    在本篇文章中,我们将深入探讨 `jQuery Validate` 的核心功能、使用方法以及一些常见的应用场景。 ### 1. 安装与引入 首先,你需要在项目中引入 `jQuery` 和 `jQuery Validate`。通常,这两个库可以通过 CDN(内容...

    jquery.validate.js表单验证.pdf

    此外,jQuery Validate还允许扩展自定义验证规则,例如通过`$.validator.addMethod()`函数添加新的验证方法。同时,可以自定义错误消息的显示方式,如使用`errorPlacement`或`highlight`回调函数来控制错误消息的...

    Jquery.validate插件使用方法

    1. **引入资源**:在项目中,首先需要引入jQuery库和jQuery.validate插件的js文件,通常包括`jquery.js`、`jquery.validate.js`以及可选的`additional-methods.js`(包含了一些额外的验证方法)。 2. **初始化验证*...

    JQuery Validate插件的验证规则和例子,合成AJAX

    jQuery Validate插件是用于在客户端进行表单验证的强大工具,它提供了丰富的验证规则和自定义方法,使得用户在提交表单前可以即时检测输入数据的有效性,大大提升了用户体验。该插件是jQuery库的一个扩展,通过简单...

    jquery.validate.js

    jQuery validate.js插件正是为此而生,它为jQuery库添加了强大的表单验证功能,使得开发者能够快速、方便地实现复杂的验证逻辑。 validate.js插件是Bassistance.de开发团队的杰作,它在jQuery基础上提供了丰富的...

    jquery.validate是jquery旗下的一个验证框架

    除了内置规则,`jQuery Validate`还允许开发者自定义验证方法,以满足特殊需求。例如: ```javascript $.validator.addMethod("customMethod", function(value, element) { // 验证逻辑 return value === ...

    jquery.validate使用攻略

    - **自定义验证方法**:使用 `$.validator.addMethod(name, method, message)` 添加新的验证方法。 - **改变默认设置**:通过 `$.extend($.validator.defaults, options)` 修改全局的验证配置。 - **回调函数**:如 ...

    jquery.validate.zip

    jQuery Validate不仅支持基本的验证规则,还允许自定义验证方法,以及使用远程服务器进行验证。例如,可以定义一个验证用户名是否已存在的方法: ```javascript $.validator.addMethod("uniqueUsername", function...

    jQuery.validate.js 中文文档.pdf(整理)

    3. **自定义验证**: 支持添加自定义验证方法,以适应更复杂的业务需求。 #### 三、核心API及用法 ##### 1. `validate(options)` - **描述**: 初始化验证器并应用指定的选项。 - **返回**: `Validator`对象。 - **...

    jquery.validate.min.zip

    3. **自定义验证方法**:通过`.addMethod()`,可以添加新的验证方法,扩展验证功能。 五、优化与注意事项 1. **错误消息定位**:使用`errorElement`和`errorClass`选项可以自定义错误消息的展示方式,例如改变错误...

    jquery.validate 使用说明文档

    除了内置规则,你还可以自定义验证规则,通过 `$.validator.addMethod` 方法实现: ```javascript $.validator.addMethod("customRule", function(value, element, param) { // 自定义验证逻辑 return value === ...

    jquery.validate验证快速上手

    可以通过 `addMethod` 方法来添加新的验证规则。例如,添加一个名为 `"aaaa"` 的自定义验证方法: ```javascript $.validator.addMethod("aaaa", function(value, element) { return this.optional(element) || /^...

    jquery.validate_框架详解

    总结来说,`jQuery Validate` 框架为客户端表单验证提供了强大而灵活的解决方案,包括多种内置规则、自定义规则、错误处理回调、忽略选项以及元数据支持。通过这些特性,你可以轻松地实现对用户输入的有效性检查,...

    jQuery.Validate表单验证插件的使用示例详解

    为了实现自定义验证规则,我们可以使用`jQuery.validator.addMethod()`。在这个例子中,我们添加了一个名为`isEven`的验证规则,检查输入值是否为偶数: ```javascript jQuery.validator.addMethod('isEven', ...

    jquery-1.6.2.js,validate.min.js,metadata.js

    使用`$.validator.addMethod()`可以创建新的验证规则,而`.validate()`方法则用于初始化验证插件。此外,`errorPlacement`和`success`等回调函数可以定制错误消息的显示位置和成功验证后的反馈。 metadata.js是另一...

Global site tag (gtag.js) - Google Analytics