我有这些验证规则:
$("#ed_details").validate({
rules: {
tagno: { required: true },
itemid: { required: true },
ralno: { required: true },
feet: { required: true, number: true, min: 0 },
inches: { required: true, number: true, min: 0 },
cms: { required: true, number: true, min: 0 },
length: { required: true, number: true, max: $('#maxlength').val() },
qty: { required: true }
}
});
这是长度验证的字段。它是仅用于测试目的的文本。一旦它工作,它将被隐藏。
<input type="text" name="maxlength" id="maxlength" value="<?=$maxL['ml']?>" />
这很好用,除非我在运行时更改 maxlength 的值(这可能发生)。用户正在从下拉列表中选择一个项目。每个项目都有一个最大长度的管道,可以与它一起使用。当项目发生变化时,屏幕上的 maxlength 值会发生变化。但是,当验证运行时,我会看到一条基于原始长度的错误消息(新项目为 0,无论编辑时加载的最大长度是多少)。
Please enter a value less than or equal to 156.
即使 maxlength 字段显示另一个值,我也会看到这一点。
如果我在现场使用 Firebug,即使更改后它也会显示原始值。此外,手动更改 maxlength 字段而不是代码并没有什么不同。
任何帮助是极大的赞赏。