У меня есть функция, которая сравнивает два поля.показать сообщение об ошибке после проверки - jQuery Validate
$.validator.addMethod("validatormethod", function (value, element) {
return $('#Field1').val() > $('#Field2').val()
}, "Test");
форма является динамическим и, следовательно, форма проверяется с помощью each
:
$('.validateclass').each(function() {
$(this).rules('add', {
validatormethod: true,
messages: {validatormethod: "Test" }
})
});
$('.validateclass2').each(function() {
$(this).rules('add', {
required: true,
messages: {required: "This field is required" }
})
});
$('#myForm').valid();
Теперь моя проблема сообщение Test
появляется, как только при загрузке страницы. Он должен появиться только после сравнения поля. Я знаю, что это связано с линией $('#formSaveComponent').valid();
. Но я хочу, чтобы сообщение появилось при загрузке страницы. Есть ли способ, которым я могу это сделать, используя плагин jQuery Validate. Цитата
Показать HTML для формы. Также объясните, почему вы запускаете '.valid()', когда страница загружается и что означает ваш заголовок. Показ сообщения об ошибке после проверки является поведением по умолчанию. – Sparky
Я запускаю, так как есть много полей и для некоторых полей, я хочу, чтобы валидация запускалась, как только загружалась страница. Не после нажатия кнопки отправки. – user2281858
Настройка .Valid() на загрузке формы будет выполняться для каждого поля формы в момент ее загрузки, поэтому «Тест» появляется. Если вы хотите, чтобы некоторые вещи проверялись, вы должны указать поля, которые хотите проверить, а не всю форму. – tlbignerd