【发布时间】:2016-01-14 15:33:13
【问题描述】:
我想限制最大文本长度,使其不超过数据库中的列长度。我已经在后端设置了这个限制,现在我想在前端强制执行它。
我使用TinyMCE v4.3.3 和angular-ui-tinymce v0.0.12 插件和AngularJS v1.4.6。
JS:
var tinymceOpts = {
toolbar: false,
menubar: false,
// do not add <p></p> from the start:
forced_root_block: ''
}
HTML:
<textarea ui-tinymce="tinymceOpts"
ng-model="body"
name="body"
ng-maxlength="100"
required>
{{ body }}
</textarea>
<span ng-show="form.body.$error.maxlength" class="error">
Reached limit!
</span>
如你所见,我这里使用ng-maxlength属性来限制<textarea>的长度。
预期结果: 验证输入并仅在内容长度(包含标签) 超过限制(本例中为 100 个字符)时显示错误消息。
当输入包含一些文本(无论长度如何)时,表单输入状态设置为无效。
计算字符数(右下角)用于测试:
this.getCharCount = function() {
var tx = editor.getContent({format: 'raw'});
return tx.length;
};
【问题讨论】:
-
这是 angular-ui-tinymce 中的一个错误:maxlength/minlength attribute broke 2-way databinding
标签: angularjs tinymce textarea ng-maxlength angular-ui-tinymce