我在文本区域使用ckeditor,我需要设置自定义验证。
在示例之后,我以这种方式使用jquery适配器设置文本框:
$('#posteditor')
.bootstrapValidator()
.find('[name="text"]').ckeditor({
skin: 'moono,/asset/css/moono/',
language: 'it',
toolbarGroups: [
{"name":"basicstyles","groups":["basicstyles"]},
{"name":"paragraph","groups":["list","align"]},
{"name":"insert","groups":["insert"]},
{"name":"styles","groups":["styles"]},
{"name":"links","groups":["links"]},
],
removeButtons: 'Strike,SpecialChar,Anchor',
extraPlugins: 'youtube'
}).editor.on('change', function() {
$('#posteditor')
.bootstrapValidator('updateStatus', 'text', 'NOT_VALIDATED')
.bootstrapValidator('validateField', 'text');
});
以这种方式在我的html中声明它
<form id="posteditor">
....
<textarea class="form-control" name="text" id="text"></textarea>
....
</form>
当触发onchange事件时,javascript控制台会显示消息
Uncaught TypeError: Cannot read property 'group' of undefined
并且该字段未经过验证。
感谢您的帮助
答案 0 :(得分:5)
以下效果很好,
$('#posteditor')
.bootstrapValidator('updateStatus', $('#text'), 'NOT_VALIDATED')
.bootstrapValidator('validateField', $('#text'));
});
或者
$('#posteditor').bootstrapValidator('revalidateField', $('#text'));
答案 1 :(得分:0)
检查您是否意外地将fv- *或bv- *属性添加到html页面中的任何字段而不是表单中...
同时检查您的页面是否有多个具有相同名称的输入框。
因为,验证验证器时会选择页面中的所有字段,并仅处理初始化中带有字段名称的输入。
此外,您可以使用http://jsbeautifier.org/来区分bootstrapValidator.min.js并自行调试以检查问题