【问题标题】:Attaching Parsley.js Validation Library to Form Takes Very Long将 Parsley.js 验证库附加到表单需要很长时间
【发布时间】:2025-12-26 09:40:12
【问题描述】:

我正在尝试 Parsley.js 验证库,但是,当将其附加到我的表单(有数千个输入字段......它有多个带有复选框的列表)时,Parsley JavaScript 运行了将近一分钟遍历所有字段(即使我已经排除了复选框):

<form id="form" data-parsley-validate data-parsley-excluded="input[type=checkbox]">

我可以使用任何设置来解决此问题,因为排除复选框似乎没有帮助。我可以将验证附加到单个字段而不是整个表单吗?如果我这样做,那么我必须监督表单提交等并手动触发验证,对吗?

在我的情况下,最好的方法是什么?

【问题讨论】:

    标签: javascript forms validation parsley.js


    【解决方案1】:

    问题在于 Parsley 会遍历与其输入选择器匹配的所有元素,将它们包装在 Parsley 对象中(这需要一些时间),然后然后检查它是否应该被排除。如您所见,在处理许多元素时,这非常慢。

    要完全忽略复选框,您可以手动覆盖 inputs 配置选项(直接在 JavaScript 中,或通过 data-parsley-inputs)。默认的inputsinput, textarea, select,所以我们要做的就是让第一个更严格:

    <form id="form" data-parsley-validate
        data-parsley-inputs="input:not([type='checkbox']), textarea, select">
        <!-- ... -->
    </form>
    

    这是一个小提琴示例:http://jsfiddle.net/tkt1dvq1/

    【讨论】: