是否可以覆盖jquery.validates各种验证方法?

时间:2011-03-03 19:33:42

标签: jquery plugins override validation

我想覆盖jquery validate插件的“数字”验证。

这部分:

// http://docs.jquery.com/Plugins/Validation/Methods/number
number: function(value, element) {
    return this.optional(element) || /^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test(value);
},

我做了一些搜索,但我能找到的只是如何覆盖消息(我已经完成了)以及如何克服核心jQuery功能,这使我指向了这个方向......

$.fn.validate.prototype.methods.number = function (value, element) {
    return this.optional(element) || /^-?\d+(?:\,\d+)?$/.test(value);
};

使用此代码,我收到以下错误:

  

$。fn.validate.prototype.methods是   未定义

我错过了什么吗?还是我想做不可能的事?

如果这是不可能的,建议您更改此功能的替代方法,而不必为我的应用中的每个数字字段添加自定义验证器,这将是非常受欢迎的!

谢谢!

1 个答案:

答案 0 :(得分:15)

是的,此功能内置于库中,因此您可以在不必处理内部的情况下完成此操作。

$.validator.addMethod("number", function(value, element) {
    return this.optional(element) || /^-?\d+(?:\,\d+)?$/.test(value);
});