Вот мой код:Double JQuery проверка 2 десятичных входов и получить большее количество
$(document).ready(function(){
jQuery.validator.addMethod("cents", function(value, element) {
return this.optional(element) || /^\d{0,12}(\.\d{0,2})?$/i.test(value);
}, "You must include two decimal places");
$.validator.addMethod('lessthan', function(value, element, param) {
return this.optional(element) || value <= $(param).val();
}, 'Invalid value');
$.validator.addMethod('greaterthan', function(value, element, param) {
return this.optional(element) || value >= $(param).val();
}, 'Invalid value');
$("#globalSettingsFormId").validate({
rules: {
// Validation Rules
minBetAmt: {
required: true,
number: true,
cents: true,
lessthan: '#maxBetAmt'
},
maxBetAmt: {
required: true,
number: true,
cents: true,
greaterthan: '#minBetAmt'
}
submitHandler: function(form){
form.submit();
},
messages: {
minBetAmt:{
required: "minimum bet amount required!",
number: "This must be a number!",
cents: "You must include two decimal places",
lessthan: 'Minimum Bet Amount must be less than Max Bet Amount!'
},
maxBetAmt: {
required: "Max bet amount required!!",
number: "This must be a number!",
cents: "You must include two decimal places",
greaterthan: "Max Bet Amount must be greater than Min Bet Amount!"
}
});
Когда мои входы minBetAmt = 25,55 и maxBetAmt = 26,5, моя форма проверяет и подает. Но когда я изменяю свой maxBetAmt на 241.55 или 2400.25, это сообщение выходит: «Максимальная ставка ставки должна быть больше, чем минимальная сумма ставки!»
Кажется, что что-то не так с моими addMethods. Некоторые люди сказали мне, что что-то не так в возвращаемой стоимости моего метода «центами».
Помогите мне, ребята, выяснить, что случилось? Заранее спасибо!
Комментарий подразумевает необходимы два знак после запятой, но ваше регулярное выражение говорит 0 до 2 знаков после запятой. Можете ли вы подтвердить, что это правильно? –