我有这个片段:

$('#my-form').validate({
      errorLabelContainer: $('#error-div-1'),
      submitHandler: function (form) {
         $(form).ajaxSubmit(formOptions);
      }
});


以后可以更新errorLabelContainer吗?例如,将其从#error-div-1更改为#error-div-2,如下例所示:

$( "#toggle-container" ).click(function() {
     errorLabelContainer: $('#error-div-2');
});

最佳答案

以后可以更新errorLabelContainer吗?
  
  $( "#toggle-container" ).click(function() { errorLabelContainer: $('#error-div-2'); });


不能。将用于设置对象的key:value对放在随机处理程序.validate()内的function方法内。也无法再次调用.validate()来覆盖以前的设置。一旦.validate()用其设置在您的form上初始化了插件,此方法的所有后续调用都将被忽略。开发人员没有提供使用新设置动态重新初始化插件的方法。

由于errorLabelContainer仅用于设置动态消息(例如labeldivspan等)的容器类型,因此您必须仔细地重新检查整个方法。没有理由在其中放置id。插件的errorPlacement用于告诉它“一般”在何处插入此消息。默认情况下,它们被插入到每个输入元素之后。

09-17 18:10