Power Apps画布应用富文本字段超链接检测报错代码问题求助
Power Apps富文本字段链接检测解决方案
问题说明
现有Power Apps画布应用,包含可添加超链接的富文本字段,需求为表单提交时,若该字段存在任何链接则抛出错误。原使用代码IsMatch(RichTextEditor1.HtmlText,"https://"), Notify("Please dont give hyperlinks in the field",NotificationType.Error,3600)无法正常实现需求。
修正方案
原代码仅检测https://字符串,无法覆盖富文本中所有链接场景(比如编辑器插入链接生成的<a href>标签、http://开头的链接等),需调整检测逻辑:
完整提交校验代码
在表单提交按钮的OnSelect属性中写入以下代码:
If( // 检测富文本中是否存在<a>链接标签(编辑器插入的链接会生成该标签) IsMatch(RichTextEditor1.HtmlText, "<a\s+href=", MatchOptions.IgnoreCase) || // 检测是否存在http/https开头的直接链接 IsMatch(RichTextEditor1.HtmlText, "https?://", MatchOptions.IgnoreCase), Notify("请勿在该字段中添加超链接", NotificationType.Error, 3600), // 无链接时执行表单提交逻辑 SubmitForm(Form1) )
代码说明
<a\s+href=正则:匹配富文本编辑器生成的链接标签,忽略大小写,覆盖所有通过编辑器插入的超链接场景。https?://正则:匹配直接输入的http://或https://开头的链接,忽略大小写。- 两个条件用
||(逻辑或)连接,只要满足任意一个就触发错误提示。
注意事项
- 请将代码中的
RichTextEditor1替换为你实际使用的富文本编辑器控件名称。 - 将
Form1替换为你实际的表单控件名称。
内容的提问来源于stack exchange,提问作者adc
相关产品推荐
相关产品推荐

