我有一个函数比较两个字段。验证后显示错误消息 - jQuery验证
$.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 2014-10-27 18:07:45
我正在触发,因为有很多字段和一些字段,我希望验证在页面加载后立即触发。点击提交按钮后不是。 – user2281858 2014-10-27 18:10:04
在窗体加载时,表单加载中的.Valid()将为窗体上的每个字段运行,这就是为什么“测试”显示出来的原因。如果您只想要验证某些内容,则应指定要验证的字段,而不是整个表单。 – tlbignerd 2014-10-27 18:13:25