检查电源应用程序中的富文本字段中是否存在超链接,如果存在链接则抛出错误

问题描述 投票:0回答:1

有一个 PowerApps 画布应用程序,其中有富文本字段,我们可以在文本字段中添加超链接。

我需要一个代码,如果在提交表单期间富文本字段中存在任何链接,则应抛出错误。

我尝试了这段代码,它不起作用,

IsMatch(RichTextEditor1.HtmlText,"https://"), 通知( “请不要在该字段中提供超链接”, 通知类型.错误, 3600)

powerapps powerapps-canvas
1个回答
0
投票

默认情况下,IsMatch 函数将尝试将正则表达式与整个第一个参数进行匹配。如果您想检查它是否只包含值“https://”,您可以使用第三个参数(https://learn.microsoft.com/power-platform/power-fx/reference/function-ismatch#match-选项)告诉它:

If(
  IsMatch(RichTextEditor1.HtmlText, "https://", MatchOptions.Contains),
  Notify("Please dont give hyperlinks in the field", NotificationType.Error, 3600)
)

请注意,此正则表达式可能不仅仅捕获链接:例如,如果文本包含如下图所示的链接,逻辑也会将其标记为具有超链接:

Example of a rich text editor with something that looks like a link, but is not

如果这对您来说足够好,那就太好了。 否则,您可以强化正则表达式以使其更加严格(类似于

IsMatch(RichTextEditor1.HtmlText, "href=\""https?://",MatchOptions.Contains)
,但即使这样也可以被正则文本“击败”。您始终可以将其收紧(例如,考虑开头元素
<a
,考虑到 http 和 https,可能的额外属性,但请确保测试好您的正则表达式,以便它只捕获您想要的内容,而不会捕获您不想要的内容。

© www.soinside.com 2019 - 2024. All rights reserved.