Проблема с регулярным выражением, используемым для чисел. Глядя на последнюю версию , строки 1021-1023, мы получили:
number: function(value, element) {
return this.optional(element) || /^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test(value);
},
Проблема в том, что этот первый блок, который ищет начальные отрицательные знаки и числа, индивидуально или в группах из трех, разделенных запятыми, не является обязательным:
(?:\d+|\d{1,3}(?:,\d{3})+)
Прикрепление ?
на конце сделает его необязательным:
(?:\d+|\d{1,3}(?:,\d{3})+)?
В этом обновлении вы можете либо изменить локальную копию плагина, изменив регулярное выражение на измененную версию, либо добавить метод проверки замены в свой javascript:
jQuery.validator.addMethod("number", function(value, element) {
return this.optional(element) || /^-?(?:\d+|\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(value);
}, "Please enter a valid number.");
На любой странице с этим вызовом addMethod
метод проверки number
будет переопределен для проверки номера, для которой не требуется начальный ноль.