Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.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
Jquery Parsley.js-更改错误容器_Jquery_Validation_Parsley.js - Fatal编程技术网

Jquery Parsley.js-更改错误容器

Jquery Parsley.js-更改错误容器,jquery,validation,parsley.js,Jquery,Validation,Parsley.js,我想更改每个错误消息的位置。即在相应的中显示错误消息。通过使用文档的代码,错误消息显示在元素(输入)之前,而不是按预期显示。 有什么想法吗 根据文件: errors: { container: function (element, isRadioOrCheckbox) { var $container = element.parent().find(".parsley-container"); if ($container.length === 0) {

我想更改每个错误消息的位置。即在相应的
中显示错误消息。通过使用文档的代码,错误消息显示在元素(输入)之前,而不是按预期显示。 有什么想法吗

根据文件:

errors: {
    container: function (element, isRadioOrCheckbox) {
        var $container = element.parent().find(".parsley-container");
        if ($container.length === 0) {
            $container = $("<div class='parsley-container'></div>").insertBefore(element);
        }
        return $container;
    }
}
错误:{
容器:函数(元素,isRadioOrCheckbox){
var$container=element.parent().find(“.parsley container”);
如果($container.length==0){
$container=$(“”)。insertBefore(元素);
}
退回$container;
}
}
我的html代码是:

输入

<div class="input-group date date-picker" data-date-format="dd/mm/yyyy" data-date-viewmode="years">             
  <input class="form-control dataScrap firstInput" type="text" parsley-notblank="true" parsley-required="true" parsley-error-message="You must input a birth date" readonly="readonly"/>
  <span class="input-group-btn">
   <button class="btn default" type="button"><i class="fa fa-calendar"></i></button>
  </span>
  <div class="errorBlock"></div>
</div>

复选框

<div class="checkbox-list">
    <label class="checkbox-inline">
        <input type="checkbox" parsley-group="checkboxGroup" parsley-mincheck="2"> Checkbox 1
    </label>
    <label class="checkbox-inline">
        <input type="checkbox" parsley-group="checkboxGroup"> Checkbox 2
    </label>
    <div class="errorBlock"></div>
</div>

复选框1
复选框2
试试这个:

data-parsley-errors-container=".errorBlock"

您可以参考@ahmad hussain的答案在

中检查此属性。您还需要在表单中添加一个属性:



您可以通过覆盖来实现这一点。(注意:我说的是最新版本[v2.0],我建议您使用)您基本上希望给Parsley一个方法,该方法将根据输入字段查找
.errorBlock
容器。它看起来像这样:

var parsleyConfig = {
    errorsContainer: function(pEle) {
        var $err = pEle.$element.siblings('.errorBlock');
        return $err;
    }
}

$('#yourFormID').parsley(parsleyConfig);


注意:使用此方法,您不能使用Makrand建议的
parsley validate
属性。在表单上调用
.parsley
也可以执行相同的操作,只是您可以向表单中添加自定义选项。此外,您需要在所有欧芹属性前面加上
data-
,因为它们是数据属性(从v2.0开始)。

欧芹API已经更新。目前的方法是:

data parsley errors container=“#您的div id”


请参阅此处的文档:

此处不起作用,因为每个输入元素后面都有。parsley error container将显示指定处理程序的所有消息。@andreas777为什么不在顶部添加一个DIV并为其提供一个类以用于parsley error-container@Makrand这不是要求。我希望在每个输入元素之后的div中(单独)显示每个错误。我需要关于如何按照文档示例执行此操作的帮助…>>$容器=$(“”)。插入之前(元素);我希望这是动态的,并使用错误:{container},而不是欧芹错误容器属性“~.my sibling error container”,请参见此处
var parsleyConfig = {
    errorsContainer: function(pEle) {
        var $err = pEle.$element.siblings('.errorBlock');
        return $err;
    }
}

$('#yourFormID').parsley(parsleyConfig);