【发布时间】:2012-11-02 14:44:23
【问题描述】:
我即将实现一个相当庞大的表单的验证。 在某些情况下,我必须比较(条件)不同的输入值来验证。
给出以下示例:
function frmDealValidation () {
var validator = $("#frmDeal").validate({
rules: {
product_value: {
required: true,
number: true,
min: 0.01,
}
price: {
required: true,
number: true,
min: 0.01,
max: ($("#show_value1").is(':checked')) ? $("#product_value").val() : 1000000
}
},
submitHandler: function(form) {
form.submit();
}
});
}
正如您在上面看到的,max-check 取决于选中的单选按钮并返回一个值。 也就是说价格不允许大于实际的product_value。
假设填写的价格大于 product_value,则在第一次提交表单后验证工作正常。
现在我可以更改输入中的值以纠正错误,或者如果我很愚蠢,我会再次用无效值填充它们并点击提交按钮(调用 frmDealValidation ())。
不幸的是,验证没有更新来自$("#product_value").val() 的值,并且似乎使用了第一次提交的缓存值。
我尝试了validator.resetForm();,因为我认为它会强制验证以重新验证整个表单并使用更新的值但没有成功!
我可以寻求帮助吗?
干杯,
诺伯特
【问题讨论】:
标签: jquery validation clear-cache