You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SharePoint 2013 基于Issue Status下拉值设置条件必填字段的验证方法问询

SharePoint 2013 动态字段必填规则实现方案

可行性说明

可以通过SharePoint 2013自带的列表验证设置(Validation Settings)实现该需求。
注意前置操作:先进入列表的字段设置页,把所有原本设为「必填(REQUIRED)」的字段属性全部改为「可选(OPTIONAL)」。因为列表级验证的优先级高于字段级必填校验,如果不取消字段级必填,DRAFT状态下Control ID和Impacted Business留空时会被字段校验直接拦截,无法触发自定义的验证逻辑。

验证公式示例

公式逻辑分为两种分支:

  1. 当Issue Status为OPEN或PENDING时,所有字段不能为空
  2. 当Issue Status为DRAFT时,仅Control ID和Impacted Business允许为空,其余字段必须填写

以下为示例公式,假设你除了Control ID、Impacted Business之外,其他必填字段为Issue Title、Reporter、Issue Description,你可以根据自己的实际字段列表修改:

=IF(
    OR([Issue Status]="OPEN", [Issue Status]="PENDING"),
    AND(
        NOT(ISBLANK([Control ID])),
        NOT(ISBLANK([Impacted Business])),
        NOT(ISBLANK([Issue Title])),
        NOT(ISBLANK([Reporter])),
        NOT(ISBLANK([Issue Description]))
    ),
    IF(
        [Issue Status]="DRAFT",
        AND(
            NOT(ISBLANK([Issue Title])),
            NOT(ISBLANK([Reporter])),
            NOT(ISBLANK([Issue Description]))
        ),
        TRUE
    )
)

公式说明:

  • 你可以把Issue Title、Reporter这些占位字段替换成你自己列表里的其他必填字段,有多少个就加多少个NOT(ISBLANK([你的字段名]))到对应的AND逻辑块里即可
  • 公式里的字段名必须和列表里的字段显示名完全一致,包括空格、大小写
  • 末尾的TRUE表示如果Issue Status有其他取值时默认不做拦截,如果你只允许OPEN、PENDING、DRAFT三种状态,可以把TRUE替换成对应校验逻辑

配置步骤

  • 进入目标SharePoint列表,点击右上角齿轮设置图标,选择「列表设置」
  • 在「常规设置」分类下找到「验证设置」,点击进入配置页
  • 将调整好的公式粘贴到「公式」输入框
  • 在「用户输入信息无效时显示的消息」框填写提示文案,比如:提交失败:当Issue Status为OPEN/PENDING时所有字段必须填写;为DRAFT时仅Control ID、Impacted Business可留空,其余字段必须完成填写
  • 点击「保存」即可生效

内容的提问来源于stack exchange,提问作者Nina

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 19:48:00