我根据输入动态设置验证.在添加验证之前,我将删除规则并添加元素是必需的.设置规则删除后,消息不会消失.
for (var i = 0; i < data.length; i++) {
switch (data[i]["FieldName"]) {
case "ADDRESS_1":
$('[name="HomeAddress1Text"]').rules("remove");
if (data[i]["Required"] == true) {
$('[name="HomeAddress1Label"]').addClass("required");
$('[name="HomeAddress1Text"]').rules("add", {
required: true,
messages: {
required: "Required"
}
});
} else {
$('[name="HomeAddress1Label"]').removeClass("required");
}
break;
case "ADDRESS_2":
$('[name="HomeAddress2Text"]').rules("remove");
if (data[i]["Required"] == true) {
$('[name="HomeAddress2Label"]').addClass("required");
$('[name="HomeAddress2Text"]').rules("add", {
required: true,
messages: {
required: "Required"
}
});
} else {
$('[name="HomeAddress2Label"]').removeClass("required");
}
break;
}
}
上面的图像1我选择了Gayana国家这个国家地址line2是必需的并得到错误信息.这是正确的然后我已经更改为美国,我已删除地址Line2的规则,但仍然显示消息.如何在更改我的下拉列表后删除所有邮件并查看何时再次提交?
最佳答案 而不是删除所需的类,使用
$.rules(‘remove’,…)函数:
$('[name="HomeAddress1Label"]').rules('remove',{
required:true
});
您可能需要在此更改后重新验证 –
$('form').valid();