我正在尝试找出如何验证来自编辑器的内容,例如,确保内容的长度至少为 200 个字符。通常,使用常规文本区域,我可以检索值并从那里验证它。据我了解,这并不容易。
最佳答案
我写了一个简单的函数,可以让你计算文档中插入了多少个字符。
/**
* Returns length of the text inserted to the specified document.
*
* @param {module:engine/model/document~Document} document
* @returns {Number}
*/
function countCharacters( document ) {
const rootElement = document.getRoot();
return countCharactersInElement( rootElement );
// Returns length of the text in specified `node`
//
// @param {module:engine/model/node~Node} node
// @returns {Number}
function countCharactersInElement( node ) {
let chars = 0;
for ( const child of node.getChildren() ) {
if ( child.is( 'text' ) ) {
chars += child.data.length;
} else if ( child.is( 'element' ) ) {
chars += countCharactersInElement( child );
}
}
return chars;
}
}
您可以在此处查看它的工作原理 – https://jsfiddle.net/pomek/kb2mv1fr/ .
关于javascript - 我如何验证来自 CKEditor 5 编辑器的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50440196/