Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Parsley JS向父级添加错误/成功类_Javascript_Jquery_Parsley.js - Fatal编程技术网

Javascript Parsley JS向父级添加错误/成功类

Javascript Parsley JS向父级添加错误/成功类,javascript,jquery,parsley.js,Javascript,Jquery,Parsley.js,我正在使用parsleyjs()进行表单验证。错误的默认行为是向每个无效输入添加一类parsley error。但是,我想更改默认行为,并将error类添加到输入的父级,特别是在表单组元素上 基本HTML <form class="js-contact-form"> <!-- this field is just required, it would be validated on form submit --> <div class="form-grou

我正在使用parsleyjs()进行表单验证。错误的默认行为是向每个无效输入添加一类
parsley error
。但是,我想更改默认行为,并将error类添加到输入的父级,特别是在
表单组
元素上

基本HTML

<form class="js-contact-form">

  <!-- this field is just required, it would be validated on form submit -->
  <div class="form-group">
    <label for="fullname">Full Name * :</label>
    <input type="text" class="form-control" name="fullname" placeholder="Name" required />
  </div>

  <!-- this required field must be an email, and validation will be run on field change -->
  <div class="form-group">
    <label for="email">Email * :</label>
    <input type="email" class="form-control" name="email" data-parsley-trigger="change" />
  </div>

  <input type="submit" />
</form>

全名*:
电邮*:
我正在使用“Javascript安装”初始化所有内容,并尝试用自己的函数覆盖“errorClass”和“successClass”选项,但似乎不起作用

 $('.js-contact-form').parsley({
    trigger:      'change',
    errorClass:   function(){
      $(this).parent()
           .removeClass('has-success')
           .addClass('has-error has-feedback');
    },
    successClass: function(){
      $(this).parent()
           .removeClass('has-error')
           .addClass('has-success has-feedback');
    },
    errorsWrapper: '<div class="invalid-message"></div>',
    errorTemplate: '<span></span>',
});
$('.js联系方式')。欧芹({
触发器:“更改”,
errorClass:function(){
$(this.parent())
.removeClass('has-success')
.addClass('has-error has feedback');
},
successClass:function(){
$(this.parent())
.removeClass('has-error')
.addClass('has-success has feedback');
},
errorsWrapper:“”,
错误模板:“”,
});
我想以这样的方式结束:

<div class="form-group has-feedback has-error">
  <label for="fullname">Full Name * :</label>
  <input type="text" class="form-control" name="fullname" placeholder="Name" required />
  <div class="invalid-message">
     <span>This field is required</span>
  </div>
</div>

全名*:
此字段必填

您应该使用
classHandler
而不是
errorClass

这应该起作用:

$(document).ready(function() {
    $('.js-contact-form').parsley({
        trigger:      'change',
        successClass: "has-success",
        errorClass: "has-error",
        classHandler: function (el) {
            return el.$element.closest('.form-group'); //working
        },
        errorsWrapper: '<div class="invalid-message"></div>',
        errorTemplate: '<span></span>',
    });
});
$(文档).ready(函数(){
$('.js联系方式')。欧芹({
触发器:“更改”,
成功类:“拥有成功”,
errorClass:“有错误”,
类处理程序:函数(el){
返回el.$element.closest('.form group');//工作
},
errorsWrapper:“”,
错误模板:“”,
});
});
您也可以在此处查看此相关答案,以便: