带有引导选择的 FormValidation.io

Posted

技术标签:

【中文标题】带有引导选择的 FormValidation.io【英文标题】:FormValidation.io with bootstrap select 【发布时间】:2020-11-12 12:56:29 【问题描述】:

我正在使用 Boost strap 4 和 bootstrap select jQuery 插件。

我正在尝试将 FormValidation.io 与我的表单集成。我已经使用普通输入字段进行了所有工作,但不知道如何将其与选择字段集成。

我希望它是必填字段,并在做出选择后显示勾号图标。

我的 FormValidation.io 代码:

document.addEventListener('DOMContentLoaded', function(e) 
const mydropzone = document.getElementById('mydropzone');

const RoleIdField = jQuery(mydropzone.querySelector('[name="roleId"]'));    

const fv = FormValidation.formValidation(mydropzone,     
       
    
        fields: 
            first_name: 
                validators: 
                    notEmpty: 
                        message: 'First Name is required'
                    ,                        
                    regexp: 
                        regexp: /^[a-zA-Z]+$/,
                        message: 'First Name can only consist of alphabetical characters'
                    
                
            ,
            last_name: 
                validators: 
                    notEmpty: 
                        message: 'Last Name is required'
                    ,                        
                    regexp: 
                        regexp: /^[a-zA-Z]+$/,
                        message: 'First Name can only consist of alphabetical characters'
                    
                
            ,
            roleId: 
                validators: 
                    notEmpty: 
                        message: 'Please select a Role'
                    ,  
                
            ,
           
        ,
        plugins: 
            trigger: new FormValidation.plugins.Trigger(),
            bootstrap: new FormValidation.plugins.Bootstrap(),
            submitButton: new FormValidation.plugins.SubmitButton(),
            icon: new FormValidation.plugins.Icon(
                valid: 'fa fa-check',
                invalid: 'fa fa-times',
                validating: 'fa fa-refresh'
            ),
        
    
);
);


$('#roleId').on('changed.bs.select', function (e, clickedIndex, isSelected, previousValue) 
// Revalidate the color field when an option is chosen
fv.revalidateField('roelId');
);

我的表单 ID 是“mydropzone”,我的选择名称和 ID 是“roleId”

任何帮助表示赞赏。

【问题讨论】:

【参考方案1】:

感谢回复我电子邮件的开发人员,以及其他任何需要知道如何完成此操作的人:

将此添加到您的 css 文件中:

.bootstrap-select i.fv-plugins-icon 
right: -38px !important;

然后像这样配置你的js:

<script>
document.addEventListener('DOMContentLoaded', function(e) 
$('#gender').selectpicker();

const demoForm = document.getElementById('demoForm');
FormValidation.formValidation(demoForm, 
    fields: 
        gender: 
            validators: 
                notEmpty: 
                    message: 'The gender is required'
                
            
        ,
    ,
    plugins: 
        trigger: new FormValidation.plugins.Trigger(),
        submitButton: new FormValidation.plugins.SubmitButton(),
        bootstrap: new FormValidation.plugins.Bootstrap(),
        icon: new FormValidation.plugins.Icon(
            valid: 'fa fa-check',
            invalid: 'fa fa-times',
            validating: 'fa fa-refresh'
          ),
       
    );
);
</script>

【讨论】:

以上是关于带有引导选择的 FormValidation.io的主要内容,如果未能解决你的问题,请参考以下文章

使用 jquery serialize 和 formvalidation.io 时如何防止表单重复发布?

即使表单有效,formvalidation.io 也会阻止表单提交

FormValidation / formvalidation.io Bootstrap 插件在样式更改时放错了验证图标

Formvalidation.io - 无法读取 null 的属性“classList”

formvalidation.io 自动对焦到隐藏目标

Formvalidation.io:某个字段有效时的事件