Select2 验证并强制用户选择至少 X 个项目

Posted

技术标签:

【中文标题】Select2 验证并强制用户选择至少 X 个项目【英文标题】:Select2 validate and force user to select ast least X items 【发布时间】:2014-07-01 08:32:46 【问题描述】:

我在尝试使用 select2 jQuery 插件进行一些自定义验证时遇到了一些麻烦

我需要强制用户从列表中选择至少 2 个项目。 select2 插件有一个属性 ma​​ximumSelectionSize 允许用户从列表中选择最多 X 个项目,但它没有“反向”属性。此外,所需的标签也不起作用,因为我需要用户选择多个项目。

当我正在使用parsley 验证插件开发自定义验证器时,我需要知道如何随时(通常在表单提交时)获取在 select2 字段中选择的项目的当前数量(数量) ?也许使用 val() 方法?

谢谢

【问题讨论】:

【参考方案1】:

解决者:

    data-parsley-cantmin="2" 属性添加到 select2 字段

    初始化 ParsleyConfig 对象如下

    window.ParsleyConfig = 
        validators: 
            cantmin: 
                fn: function (value, requirement) 
                    //return value !== requirement;
                    if ($("#campoprofesionales").val())
                        if($("#campoprofesionales").val().length > 1) 
                            return true 
                        else return false
                ,
                priority: 32
            
        ,
        i18n: 
            en: 
                cantmin: 'You have to select at least %s items from the list'
            ,
            es: 
                cantmin: 'Tiene que seleccionar al menos %s items de la lista'
            
        
    ;
    

【讨论】:

以上是关于Select2 验证并强制用户选择至少 X 个项目的主要内容,如果未能解决你的问题,请参考以下文章

如何对asp.net mvc 4中的select2字段进行强制字段验证

如何验证用户在 CheckBoxList 中选择了至少一个复选框?

如何向 WooCommerce Checkout 页面中的自定义选择框添加验证并应用 select2 样式。

select2 多选不起作用

Regex-创建验证以强制一个字符串包含2个以上的单词

通过滚动保持 select2 元素的固定大小?