gpt4 book ai didi

javascript - Parsley 表单验证 - 事件监听器

转载 作者:搜寻专家 更新时间:2023-10-31 22:02:57 25 4
gpt4 key购买 nike

好吧,所以我到处都在寻找这个,但仍然无法让它工作。似乎没有人尝试过,但我相信它可以做到。

我想在我的 Twitter Bootstrap 项目中使用 Parsley 验证插件。我已经阅读了文档,但仍在学习 JQuery,所以它就在我脑海中(我正在合理化它目前对我来说太先进了)。

我想向 Parsley 添加一个自定义事件监听器,以在出现错误时显示弹出窗口,而不是丑陋的 li。这是我尝试过的:

JQUERY

$(document).ready(function () {

$('.parsley').parsley({
successClass: 'success',
errorClass: 'error',
errors: {
classHandler: function(el) {
return $(el).closest('.form-control');
},
errorsWrapper: '<div class=\"popover fade top in\" style=\"top: -20px\"></div>',
errorElem: '<div></div>'
}
});


$('.test').parsley({

successClass: 'success',
errorClass: 'error',
errors: {
classHandler: function(el) {
return $(el).closest('.form-control');
},
errorElem: '<div></div>'
},

onFieldValidate: function ( elem ) {

// if field is not visible, do nothing.
if ( !$( elem ).is( ':visible' ) ) {
$(elem).popover({
placement : 'top',
title : 'Test',
content : '<div id="popOverBox"><h4>Test</h4></div>'
});
$(elem).popover('show');
return true;
} else {
$(elem).popover('hide');
return false;
}
}

});

});

top 函数的一半工作(只显示一个气泡)只是让它暂时工作的 hack。

HTML

<head>

<script src="../assets/js/jquery.js"></script>
<script src="../assets/js/bootstrap.js"></script>
<script src="../assets/js/bootstrap-tooltip.js"></script>
<script src="../assets/js/bootstrap-popover.js"></script>
<script src="../assets/lib/parsley/parsley.min.js"></script>

</head>

<form class="test" data-validate="parsley" novalidate>
<input type="text" name="test" value="test" data-required="true" data-trigger="keyup change">
</form>

谁能帮我解决这个问题?注意:我更喜欢 Bootstrap 工具提示(而不是弹出窗口),但如果有人能帮助我,我将不胜感激。

最佳答案

你正在做你不应该做的事。看着 Parsley docs可以看到这样的警告:

you must remove data-validate="parsley" auto-binding code in your forms DOM to allow you to override the default processing and use Parsley purely from javascript.

之后你可以做 $('.test').parsley(...)

另请注意,您挂起的监听器不正确。正确的方法是像这样将它们放在 listenter:{} 属性中:

$('.test').parsley({
listeners: {
onFieldValidate: function(elem, ParsleyField) {
console.log("validate", elem);
return false;
},
onFieldError: function(elem, constraints, ParsleyField) {
console.log("error", elem);
}
}
});

可以找到简单的例子here

关于javascript - Parsley 表单验证 - 事件监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20072178/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com