我一直在网上搜索,但找不到使用欧芹验证 select2 的方法,此处讨论的方法似乎不起作用 Select2 validate and force user to select ast least X items ,这非常令人沮丧,因为我需要用户从选项中至少选择 1 个。任何人都可以为我提供任何解决方法吗?
帮助表示赞赏!
谢谢,
最佳答案
您的自定义验证器可能无法工作的原因有多种。
(1) 确保您使用的是针对您正在使用的 parsley.js 版本的正确说明。我相信 1.x 版本的属性没有以“data-”为前缀,而是 2.x 版本。
(2)stackoverflow中显示的代码answer在包含 parsley.js 之前,您必须链接到该链接。如果在包含 parsley.js 之后出现,则代码应该有所不同。
如果代码在包含 parsley.js 之后出现,则代码应如下所示:
window.ParsleyValidator
.addValidator('minSelect', function(value, requirement) {
return value.split(',').length >= parseInt(requirement, 10);
}, 32)
.addMessage('en', 'minSelect', 'You must select at least %s.');
(3) 看来欧芹没有验证隐藏的输入元素。因此,如果您使用隐藏输入(而不是
<select>
元素)支持 Select2 控件,请将其更改为 <input type="text">
元素。它仍然适用于 Select2,但欧芹会验证它。<input type="text" id="select" name="x" value=""
data-parsley-minSelect="2"
data-parsley-validate-if-empty="true" />
(4) 默认情况下,当元素的值为空时,欧芹似乎不会应用您的自定义验证器,除非您包含
data-parsley-if-empty
属性。jsfiddle
关于jquery-select2 - 带有欧芹验证的 select2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27496053/