gpt4 book ai didi

ckeditor - Xpages - CKEditor 中的富文本验证...丢失内容

转载 作者:行者123 更新时间:2023-12-02 09:33:25 29 4
gpt4 key购买 nike

平台:Domino v9

背景:

当用户使用 Xpage 打开文档时,富文本控件 (CKEditor) 将显示该文档中的现有内容。

RichText 字段绑定(bind)到后端 Notes 文档。

当用户对此内容进行任何更改并单击“更新”按钮时,就会进行验证(对于本示例,我们将检查长度是否超过 20 个字符)。

使用 ValidateExpression 选项完成验证。

验证时,用户会看到错误消息,但用户输入的新内容会丢失。富文本控件显示原始内容。

验证码

<xp:this.validators>
<xp:validateExpression>
<xp:this.expression><![CDATA[#{javascript:var contentStr = value.getContentAsText();
var regex = /(<([^>]+)>)/ig ;
contentStr = contentStr.replace(regex,'');
if( contentStr.length < 20 ) {
return true;
}else{
return false;
}
}]]></xp:this.expression>
<xp:this.message><![CDATA[#{javascript:var errMsg = getErrorMessageText ('713','');
if ( errMsg != null && errMsg != "") {
//return errMsg;
return "Length cannot exceed 20 characters";
}else{
return "Length cannot exceed 20 characters";
}}]]></xp:this.message>
</xp:validateExpression>
</xp:this.validators>

我尝试过的事情:

我尝试了 Tommy Valand 博客中提到的解决方案,但没有解决问题。 Tommy's Blog

问题

如何验证 RichText 控件而不丢失新内容?

屏幕截图:

enter image description here

enter image description here

enter image description here

最佳答案

当我进行复杂的验证时,我有时会使用隐藏的输入字段进行验证。不确定这在这种情况下是否有帮助,但值得一试。

getLocalValue 应在验证阶段返回转换后的值。由于您正在处理字符串,因此 getSubscribedValue 可能更合适/更容易使用。

如果您使用 xp:message,请将 for 属性设置为您为隐藏字段决定的任何 id。

<xp:inputHidden id="dummyValidatorField" value="dummyValue">
<xp:this.validators>
<xp:validateExpression>
<xp:this.expression><![CDATA[#{javascript:var contentStr = getComponent( 'idOfRtField' ).getLocalValue(); // maybe you need to append .getContentAsText();
var regex = /(<([^>]+)>)/ig ;
contentStr = contentStr.replace(regex,'');
if( contentStr.length < 20 ) {
return true;
}else{
return false;
}
}]]></xp:this.expression>
<xp:this.message><![CDATA[#{javascript:var errMsg = getErrorMessageText ('713','');
if ( errMsg != null && errMsg != "") {
//return errMsg;
return "Length cannot exceed 20 characters";
}else{
return "Length cannot exceed 20 characters";
}}]]></xp:this.message>
</xp:validateExpression>
</xp:this.validators>

关于ckeditor - Xpages - CKEditor 中的富文本验证...丢失内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30332026/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com