| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- /*!
- ** 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));
|