Я добавляю в свой код настраиваемый атрибут проверки, и он отлично работает на стороне сервера. Однако на стороне клиента адаптер никогда не вызывается. addMethod(value, element, params)
вызывается, но значение в параметрах всегда true
, но я хочу иметь возможность сделать это var expectedValue = params.expectedvalue;
Что я делаю не так? Заранее спасибо
(function($) {
$.validator.addMethod("rangedecimal", function(value, element, params) {
var minValue = element.attributes[8].value; // i want to be able to write params.minValue
var maxValue = element.attributes[7].value;
if ((Number(value) > Number(maxValue)) || (Number(value) < Number(minValue))) {
return false;
} else {
return true;
}
}, "Le taux nominal doit être compris entre 0 et 100");
$.validator.unobtrusive.adapters.add('rangedecimal', ['minValue', 'maxValue'], function(options) {
// Add validation rule for HTML elements that contain data-testvalidation attribute
console.log(options, 'options');
options.rules['rangedecimal'] = {
// pass the data from data-testvalidation-expectedvalue to
// the params argument of the testvalidation method
minValue: options.params['minValue'],
maxValue: options.params['maxValue']
};
// get the error message from data-testvalidation-expectedvalue
// so that unobtrusive validation can use it when validation rule fails
options.messages['rangedecimal'] = options.message;
});
}(jQuery));