bootstrap 动态添加验证项和取消验证项

时间:2021-11-08 10:29:26

  bootstrap 中的bootstrapValidator可以对前端的数据进行验证,但是有的时候我们需要动态的添加验证,这样需要我们动态的对bootstrapValidator的内容做修改。

  传统的bootstrapValidator验证是

  

 $('#MaintainEntryForm').bootstrapValidator({
message: '输入值无效!',
feedbackIcons: {
valid: 'glyphicon glyphicon-ok',
invalid: 'glyphicon glyphicon-remove',
validating: 'glyphicon glyphicon-refresh'
},
fields: {
Specifications: {
validators: {
notEmpty: { message: '请输入规格!' }
}
},
ProductNameEN: {
validators: {
notEmpty: { message: '请输入英文名称!' }
}
},
ApplyUnit: {
validators: {
notEmpty: { message: '请输入申报单位!' },
stringLength: {
min: ,
max: ,
message: '申报单位最多输入3位!'
}
}
},
SuttleWeight: {
validators: {
notEmpty: { message: '请输入净重!' },
//regexp: { regexp: /^\d{0,8}\.{0,1}(\d{1,3})?$/, message: '净重只能输入大于等于0的整数或者3位小数!' },
callback: {
message: '净重只能输入大于0的整数或者3位小数!',
callback: function (value, validator, $field) {
var reg = /^\d{,}\.{,}(\d{,})?$/;
return parseFloat(value) > && reg.test(value);
}
}
}
}
}
}).on("success.form.bv", function (e) {
if (EntryInfo.SaveType == ) {
EntryInfo.SaveEntryInfo();
}
else if (EntryInfo.SaveType == ) {
EntryInfo.SaveAndSubmitAudit();
}
});

  这样的验证在页面有交互的需求的时候不能够满足条件,所以我们需要动态的对验证条件进行修改,这里的做法是先把所有可能用到的条件先全部添加进去,在指定条件下去除筛选条件。

  去除方式

$('#MaintainEntryForm').data('bootstrapValidator').validateField('ApplyUnit');

  这样 名称为ApplyUnit的验证凡是就不会起作用了

对于已经提示报错信息的要去除验证信息的可以使用以下方式

 $('#MaintainEntryForm').data('bootstrapValidator')
.updateStatus('ApplyQty', 'NOT_VALIDATED', null)
.validateField('ApplyQty');

  这样页面对应的ApplyQty 字段后面验证信息就会消失  不用重置整个bootstrapValidator 就可以了

  记录点点滴滴