/*! ** Support des formats français pour la validation des nombres et des dates */ (function ($) { // Sauvegarde les méthodes de base var originalMethods = { min: $.validator.methods.min, max: $.validator.methods.max, range: $.validator.methods.range }; // Analyse un nombre var parseFrenchNum = function (str) { str = str.replace(",", ".").replace(" ", ""); return parseFloat(str); }; // Analyse une date var parseFrenchDate = function (str) { return new Date(str); }; // Traitement des nombres $.validator.methods.number = function (value, element) { var val = parseFrenchNum(value); return this.optional(element) || ($.isNumeric(val)); }; // Traitement des dates $.validator.methods.date = function (value, element) { var val = parseFrenchDate(value); return this.optional(element) || (val instanceof Date); }; // Traitement des règles sur les nombres $.validator.methods.min = function (value, element, param) { var val = parseFrenchNum(value); return originalMethods.min.call(this, val, element, param); }; $.validator.methods.max = function (value, element, param) { var val = parseFrenchNum(value); return originalMethods.max.call(this, val, element, param); }; $.validator.methods.range = function (value, element, param) { var val = parseFrenchNum(value); return originalMethods.range.call(this, val, element, param); }; }(jQuery));