Изменение BootstrapValidator зависит от данных - PullRequest
0 голосов
/ 12 апреля 2019

У меня есть таблица со столбцами, которая определяет, является ли столбец скрытым / обязательным / не требуется.

Как я могу установить настройку bootstrapvalidator для завершения этого? Должен ли я установить все столбцы на

включено: ложь

тогда вызовите что-то подобное в цикле for? (С http://bootstrapvalidator.votintsev.ru/examples/enable-validator/)

 var isEmpty = $(this).val() == '';
        $('#enableForm')
                .bootstrapValidator('enableFieldValidators', 'password', !isEmpty)
                .bootstrapValidator('enableFieldValidators', 'confirm_password', !isEmpty);

        // Revalidate the field when user start typing in the password field
        if ($(this).val().length == 1) {
            $('#enableForm').bootstrapValidator('validateField', 'password')
                            .bootstrapValidator('validateField', 'confirm_password');
        }

Вот пример моего кода. Интересно, будет ли это отличное решение или нет. Любое предложение будет оценено. Спасибо за чтение.

Примечание: оно должно быть гибким при изменении данных в базе данных

JS

for(var paramKey in C0101000001_DIV2.attrMap){
            $("div[id$='"+paramKey+"']").show();
        }
$("#incidentForm").bootstrapValidator({

                //live: 'enabled',
                 fields: {
                     contactName: {
                            validators: {
                                notEmpty: {
                                    message: '請填寫姓名'
                                }
                            }
                        },
                        contactMail: {
                            validators: {
                                notEmpty: {
                                    message: '請填寫聯絡資訊-Email'
                                },
                                 emailAddress: {
                                     message: 'Email格式有誤'
                                 }
                            }
                        },
                        incidentTitle:{
                            validators: {
                                notEmpty: {
                                    message: '請填寫事件主旨'
                                }
                            }
                        },
                        incidentDescription:{
                            validators: {
                                notEmpty: {
                                    message: '請填寫事件描述'
                                }
                            }
                        }

                    }
        });

HTML

<form class="form-horizontal" id="incidentForm" >

<div class="form-group" id="div_contactName" style="display:none">
    <label class="col-md-2 control-label"><span class="spanstar">*</span>聯絡資訊-姓名:</label>
    <div class="col-md-4">
        <input type="text" class="form-control" id="contactName" name="contactName" placeholder="請填寫聯絡資訊-姓名" maxlength="20">
    </div>
</div>
<div class="form-group" id="div_contactMail" style="display:none">
    <label class="col-md-2 control-label"><span class="spanstar">*</span>聯絡資訊-Email:</label>
    <div class="col-md-4">
        <input type="text" class="form-control" id="contactMail" name="contactMail" placeholder="請填寫聯絡資訊-Email">
    </div>      
</div>
<div id="div_incident">
    <div class="form-group" id="div_incidentTitle" style="display:none">
        <div class="col-md-2 control-label">
            <label class="control-label"><span class="spanstar">*</span>事件主旨:</label>
        </div>
        <div class="col-md-10 col-md-8">
            <input type="text" class="form-control" id="incidentTitle" name="incidentTitle" placeholder="請填寫事件主旨 (字數限100字)" maxlength="100">
        </div>                      
    </div>
    <div class="form-group" id="div_incidentDescription" style="display:none">
        <div class="col-md-2 control-label">
            <label class="control-label">內容說明/<br>事件描述:</label>
        </div>
        <div class="col-md-10 col-md-8">
            <textarea class="form-control" id="incidentDescription" name="incidentDescription" placeholder="請填寫事件描述(字數限2000字)" rows="5" maxlength="2000"></textarea>
        </div>                      
    </div>
</div>

...