我希望jQuery验证器将一个类添加到表单元素的父级

Eys*_*ein 3 validation jquery

如何使用jQuery验证器validate在表单元素的父级上添加/删除类名(例如),<li>以便通过仅设置一个类名来设置与该元素相关的所有内容?

标记是

<li class="validate">
    <label for="product">Product of interest <abbr title="Required field">*</abbr></label>
    <input id="product" type="text" name="product" value="" placeholder="e.g. school bench" class="required" minlength="2">

    <!-- Hidden by CSS unless parent has 'validate' class -->
    <label for="product" class="description">Please name a product.</label> 
</li>
Run Code Online (Sandbox Code Playgroud)

而默认的jQuery是

$("#commentForm").validate();
Run Code Online (Sandbox Code Playgroud)

Nic*_*ver 8

使用此处的highlightunhighlight选项覆盖errorClass(或validClass)应用的位置:

$("#commentForm").validate({
  highlight: function(element, errorClass, validClass) {
    $(element).closest('.validate').addClass(errorClass).removeClass(validClass);
  },
  unhighlight: function(element, errorClass, validClass) {
    $(element).closest('.validate').addClass(validClass).removeClass(errorClass);
  }
});
Run Code Online (Sandbox Code Playgroud)

通过默认情况下,将errorClass是"错误",并直接在输入元素上得到应用.为了更好地说明,这是默认的验证功能,当您不提供这些选项时.validate(),会发生以下情况:

$("#commentForm").validate({
  errorClass: "error",
  validClass: "valid",
  highlight: function( element, errorClass, validClass ) {
    $(element).addClass(errorClass).removeClass(validClass);
  },
  unhighlight: function( element, errorClass, validClass ) {
    $(element).removeClass(errorClass).addClass(validClass);
  }
});
Run Code Online (Sandbox Code Playgroud)