Являются ли эти два метода одинаковыми?

#javascript #jquery #jquery-validate

#javascript #jquery #jquery-validate

Вопрос:

Я пытаюсь перейти от передачи параметра правил методу $ («#» formName).validate({}) к использованию метода $.validator.addClassRules({}). Это одно и то же? Второй не работает.

текущий метод (работает)-

 var validatorObject = $("#"   formName).validate({

 rules: {
   firstField:{
     equalTo: ['#secondField']
   },
   secondField:{
     equalTo: ['#firstField']
   }
});
  

предпочтительный метод (не работает) —

 var myValidator = Validator.addForm("formName");
$.validator.addClassRules({
       firstField:{
         equalTo: ['#secondField']
       },
       secondField:{
         equalTo: ['#firstField']
       }
});
  

Ответ №1:

Эти два не эквивалентны. Первый определяет правила на основе name элемента ввода:

Ключ — это имя элемента (или группы флажков / переключателей)

Второй добавляет правила, основанные на class элементе. Это полезно, когда вы хотите, чтобы несколько элементов совместно использовали правило проверки.

Если бы вы хотели использовать второй метод, вам пришлось бы добавить класс firstField и secondField к входным данным, которые вы хотели проверить в соответствии с этими правилами.