【问题标题】:Sharepoint online: catch index errors when using @currentField.xSharepoint online:使用@currentField.x 时捕获索引错误
【发布时间】:2021-01-20 15:23:37
【问题描述】:

我正在尝试验证列的输入。输入的格式必须是 123-45.678.901ab

我得到的最接近的是使用 JSON 格式:

{ "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json", "elmType": "div", "txtContent": "@currentField", “风格”: { "背景色": "=if(@currentField.length>13,if((@currentField.0>='0')&&(@currentField.0= '0')&&(@currentField.1='0')&&(@currentField.2='0')&&(@currentField.4='0')&&(@currentField.5='0')&&(@currentField.7='0')&&( @currentField.8='0')&&(@currentField.9='0')&&(@currentField.11='0')&&(@currentField.12='0')&&(@currentField.1314,if((@currentField.14>='a')&&(@currentField.14='A')&&(@currentField.1415,if((@currentField.15>='a' )&&(@currentField.15='A')&&(@currentField.15

enter image description here

问题是,如果输入短于 16 个字符,我的整个公式都会崩溃(既不是绿色也不是红色)。我希望通过在访问@currentField.15 之前调用 if(@currentField.length>15) 来防止这种情况。如果输入太短,是否有正确的方法使用@currentField.X 而不会崩溃?

【问题讨论】:

    标签: json sharepoint formatting


    【解决方案1】:

    您可以尝试以下方法,使用substring(@currentField, 15, 16) 而不是@currentField.15

    if(@currentField.length>15,if((substring(@currentField, 15, 16)>='a')&&(substring(@currentField, 15, 16)<='z')||(substring(@currentField, 15, 16)>='A')&&(substring(@currentField, 15, 16)<='Z')
    

    【讨论】:

      猜你喜欢
      • 2017-07-30
      • 2018-01-02
      • 2013-10-27
      • 1970-01-01
      • 1970-01-01
      • 2011-05-04
      • 1970-01-01
      • 2021-07-22
      • 2016-09-08
      相关资源
      最近更新 更多