有一个 PowerApps 画布应用程序,其中有富文本字段,我们可以在文本字段中添加超链接。
我需要一个代码,如果在提交表单期间富文本字段中存在任何链接,则应抛出错误。
我尝试了这段代码,它不起作用,
IsMatch(RichTextEditor1.HtmlText,"https://"), 通知( “请不要在该字段中提供超链接”, 通知类型.错误, 3600)
默认情况下,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)
)
请注意,此正则表达式可能不仅仅捕获链接:例如,如果文本包含如下图所示的链接,逻辑也会将其标记为具有超链接:
如果这对您来说足够好,那就太好了。 否则,您可以强化正则表达式以使其更加严格(类似于
IsMatch(RichTextEditor1.HtmlText, "href=\""https?://",MatchOptions.Contains)
,但即使这样也可以被正则文本“击败”。您始终可以将其收紧(例如,考虑开头元素 <a
,考虑到 http 和 https,可能的额外属性,但请确保测试好您的正则表达式,以便它只捕获您想要的内容,而不会捕获您不想要的内容。