Jquery validation excludes rules not working

I set the validation dynamically based on input. Before adding a check, I delete the rule and add its element. The message does not disappear after deleting the rules.

     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;
           }
      }

enter image description here

Above the image of the 1st I chose the country Gayanafor which country Address line2is required and received an error message. which is correct, I changed to USA, and I deleted the rule for Address line2, but still the message shows. How to delete all messages after changing my drop-down list and see when to send again?

+4
source share
1 answer

Instead of deleting the class, requireduse $. rules ('remove', ...) :

$('[name="HomeAddress1Label"]').rules('remove',{
    required:true
});

-

$('form').valid();
+1

Source: https://habr.com/ru/post/1589090/


All Articles