Можно ли переопределить jquery.validates различные методы проверки? - PullRequest
5 голосов
/ 03 марта 2011

Я бы хотел переопределить проверку «числа» плагина 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 is не определен

Я что-то упустил? Или я пытаюсь сделать невозможное?

Если это невозможно, предложения по альтернативному способу изменения этой функциональности без добавления пользовательских валидаторов в каждое числовое поле в моем приложении приветствуются!

Спасибо!

1 Ответ

15 голосов
/ 06 марта 2011

Да, эта функция встроена в библиотеку, так что вы можете сделать это без необходимости работать с внутренними компонентами.

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