bootstrapvalidator给出"无法读取属性' group'未定义"在ckeditor领域

时间:2014-12-23 12:34:14

标签: javascript jquery ckeditor jqbootstrapvalidation

我在文本区域使用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

并且该字段未经过验证。

感谢您的帮助

2 个答案:

答案 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并自行调试以检查问题