javascript – Jquery验证删除规则不起作用

我根据输入动态设置验证.在添加验证之前,我将删除规则并添加元素是必需的.设置规则删除后,消息不会消失.

     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();
点赞