我使用JQuery和BootstrapValidator 0.5.2进行表单验证(目前我坚持使用旧版本)。 我想验证一个Ace编辑器字段(http://ace.c9.io),它不能为空。 验证工作正常,问题是我无法手动更新字段验证状态。 任何人都知道如何访问Ace编辑器字段的引导验证功能? 基本上我的代码如下:
<div id="text" name="text" class="ace-editor" data-bv-field="text"></div>
$('#form').formValidation({
fields: {
'text': {
validators: {
callback: {
// check content of ace editor
message: 'Mandatory',
callback: function(value, validator) {
var editor = ace.edit('text'),
ok = (editor.session.getValue() != ''),
status = (ok) ? 'VALID' : 'INVALID';
// gives error: $(...).data(...) is undefined
//$('#text').data('bootstrapValidator').updateStatus('text', status, null);
// gives error TypeError: this.options.fields[b] is undefined in bootstrapValidator.min.js
$('#text').bootstrapValidator().data('bootstrapValidator').updateStatus('text', status, null);
return ok;
}
}
}
}
});
答案 0 :(得分:1)
这一行:
$('#text').data('bootstrapValidator').updateStatus('text', status, null);
应该是:
$('#form').data('bootstrapValidator').updateStatus('text', status, null);
第一个参数应该是表单,而不是您要更新的元素。希望这会有所帮助。