gpt4 book ai didi

javascript - 使用 ParsleyJS 验证并使用 twitter 工具提示显示错误

转载 作者:行者123 更新时间:2023-11-29 10:15:53 25 4
gpt4 key购买 nike

我想用 parsley js 验证一个表单并用 twitter 的 Bootstrap 工具提示显示错误(如果有的话)。

我读了这个link关于 twitter bootstrap 与 parsley 的集成以及这个 stackoverflow question关于 EventListeners。但是,我仍然无法显示错误消息。

我就是这样实现的

... 
<input id="id_email" name="email" required=True parsley-type="email">
<button type="submit" onclick="javascript:$('#id_email').parsley(parsleyOptions); ">Next</button>
...
<script type="text/javascript" src="http://code.jquery.com/jquery-2.1.0.min.js"></script>
<script type="text/javascript" src="{% static "js/bootstrap.min.js" %}"></script>
<script type="text/javascript" src="{% static "js/parsley/parsley.js"%}"></script>
...
<script>

// parsley option
var parsleyOptions = {
// Sets success and error class to Bootstrap class names
successClass: 'has-success',
errorClass: 'has-error',

// Bootsrap needs success/error class to be set on parent element
errors: {
classHandler: function(el) {
return el.parent();
},
// Set these to empty to make sure the default Parsley elements are not rendered
errorsWrapper: '',
errorElem: ''
},
listeners: {
// Show a tooltip when a validation error occurs
onFieldError: function (elem, constraints, parsleyField) {
elem.tooltip({
animation: false,
container: 'body',
placement: 'top',
title: elem.data('error-message')
});
},
// Hide validation tooltip if field is validated
onFieldSuccess: function(elem, constraints, parsleyField) {
elem.tooltip('destroy');
}
}
};

</script>
...

工具提示不会因表单字段中的错误而触发(即使字段为空,也不会引发错误)。我怎样才能让欧芹触发工具提示工作?

旁注:

  • 关于“parsleyOptions”的代码取自 here
  • 所有js文件都可以访问
  • 输入字段上的静态工具提示有效
  • 当错误显示在 div 中时,parsley js 起作用

最佳答案

对于那些对使用 parsley 2.x 实现此目的的方法感兴趣的人:

<form method="post" id="myForm">
<input id="id_email" name="email" class="required" data-parsley-type="email">
<button type="submit">Next</button>
</form>

<script type="text/javascript">
$(document).ready(function() {
// instanciate parsley and set the container
// as the element title without a wrapper
$("#myForm").parsley({
errorsContainer: function (ParsleyField) {
return ParsleyField.$element.attr("title");
},
errorsWrapper: false
});

// when there is an error, display the tooltip with the error message
$.listen('parsley:field:error', function(fieldInstance) {
var messages = ParsleyUI.getErrorsMessages(fieldInstance);
fieldInstance.$element.tooltip('destroy');
fieldInstance.$element.tooltip({
animation: false,
container: 'body',
placement: 'top',
title: messages
});
});

// destroy tooltip when field is valid
$.listen('parsley:field:success', function(fieldInstance) {
fieldInstance.$element.tooltip('destroy');
});
});
</script>

我使用的是 Bootstrap 3.2.0 和 Parsley.js 2.0.2。我用这个创建了一个 fiddle :http://jsfiddle.net/C96ab/3/

关于javascript - 使用 ParsleyJS 验证并使用 twitter 工具提示显示错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21792261/

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