【问题标题】:Nullify Rich Text Area if there is only whitespaces and line breaks如果只有空格和换行符,则取消富文本区域
【发布时间】:2026-01-07 09:10:01
【问题描述】:

如果富文本区域字段仅包含空格和换行符,我会尝试使其无效。即使文本区域中有一个单词,我也不应该无效。因为如果它包含它会在 UI 中占用太多空间。注意 - 即使有多个尾随和前导空白/换行符的单个作品,它也应该按原样显示。

我构建了一个匹配此场景的正则表达式,但它没有传入工作流条目标准。

正则表达式:

"^[\sbr/]+$"

查看此正则表达式检查器以获取详细信息 - https://regexr.com/(放在正则表达式上方并检查)

任何帮助将不胜感激!

【问题讨论】:

    标签: regex salesforce workflow richtextbox


    【解决方案1】:

    我认为你真正需要的是相当于String.IsNullOrWhiteSpace(value)

    function IsNullOrWhiteSpace( value) {    
        if (value== null) return true;    
        return value.replace(/\s/g, '').length == 0;
    }
    

        function IsNullOrWhiteSpace( value) {    
            if (value== null) return true;    
            return value.replace(/\s/g, '').length == 0;
        }
        
        console.log(IsNullOrWhiteSpace("\t \n   \t"));
        
        var multilineString = "\
        \
        \
          ";
       console.log(IsNullOrWhiteSpace(multilineString));
       console.log(IsNullOrWhiteSpace(" a"));
       

    您的富文本控件也应该允许您将文本作为纯文本获取。然后事情变得容易多了,因为 RTF 的空格规则有点奇怪:

    在 RTF 中,规则 处理空白非常不同:
    - 空格字符是 仅当它是末尾的可选无意义空格时才有意义 一个命令。否则,每个空格字符都意味着插入一个空格 性格!
    - 换行符可以标记命令的结束;然而在其他方面, 它没有任何效果或意义。 Ref.

    无论如何,您的正则表达式在 Javaish-lingo 中应该如下所示:

    [\\s<>br/]+$
    

    【讨论】:

    • 感谢您的关注。由于不是在 JS 中执行此操作,因此我只需要正确的正则表达式来匹配富文本区域的空格和换行符。我正在尝试在 Salesforce 工作流规则中实现这一点。
    • @mohammedazarudeen 祝你好运。您仍然可能会受到 RTF 奇怪的空格规则的影响。