> ## Documentation Index
> Fetch the complete documentation index at: https://help.dingtalk.io/llms.txt
> Use this file to discover all available pages before exploring further.

# 表单校验

> 本文档介绍了如何在校验表单数据时使用校验规则，包括设置发票信息录入表单的唯一性、开票日期和金额范围等条件的具体步骤。同时提供了宜搭公式的基本使用方法，如EXISTS函数用于去重检查，逻辑与日期函数用于更复杂的条件判断。

<Warning>
  注意：流程表单的表单校验，请看 [**这里**](/zh/yida/process/emt041)
</Warning>

## 1. 校验规则

### 1.1 表单校验规则的使用场景

（1）校验表单中数据是否满足规则，满足该校验规则时不可提交数据，不满足校验规则时允许提交。

（2）阻断提交时的提示文字，会在满足校验规则时出现。

（3）校验规则的编写是通过 [**宜搭的公式**](/zh/yida/form/gvtpe4) 实现的。

**设置校验规则的路径**：表单编辑页面 >> 点击右上角的表单设置 >> 公式校验

**注**：该校验在普通表单的集成自动化和业务关联规则中暂不生效。

## 2. 案例场景及操作步骤

### 2.1 案例场景

有一张发票信息录入的表单，包括发票编号、开票日期、发票类型、开票金额等四个字段，满足以下校验条件才能提交数据：

（1）发票编号：校验唯一性

（2）开票日期在 30 以天以内

（3）开票金额在 0-50000 之间

### 2.2 操作步骤

（1）表单设置  >> 右侧属性 >> 添加公式

<Frame>
  ![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1639445701612-a054350e-e642-4b8d-8036-cde4dcdea2b5.png)
</Frame>

设置校验公式

<Frame>
  ![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1639444862375-8175996e-c622-4fbe-b6a1-345c528e6bf2.png)
</Frame>

公式编辑页面

（2）设置第一个条件：发票编号的唯一性。

**注**：[**EXIST**](/zh/yida/form/vwncwe)函数的功能是：校验表单字段的唯一性（去重），判断参数值在已提交的数据中是否存在。

公式格式：`EXIST(发票号码)`，表示判断本次提交的发票号码在已提交的数据中是否已存在，如果存在就阻断提交，不存在就允许提交。

如图所示：

<Frame>
  ![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1639445787609-cfe461f5-f416-46cb-b4be-0dba7adae441.png)
</Frame>

使用 EXITS 函数

<Frame>
  ![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1618817016033-169c6df7-33a3-4808-a13c-c5d0c913006b.png)
</Frame>

报错提示

（3）点击添加公式，设置第二个条件：开票日期在 30 天以内

公式为：`GE(DAYS(TODAY(),DATE(开票日期)),30)`

关于函数的使用请参考：[**逻辑函数使用**](/zh/yida/form/mnx96u) [**日期函数使用**](/zh/yida/form/dh7m8n)

<Frame>
  ![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1639445994517-6541a3b0-8215-4e7e-a179-6bd915364ab3.png)
</Frame>

使用公式 GE(DAYS(TODAY(),DATE())

<Frame>
  ![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1618817412431-1b4bd858-c907-4b0f-a063-8e62a04cf981.png)
</Frame>

报错提示

（4）最后来设置开票金额的校验条件：开票金额 0-50000 之间

公式为：`OR(LE(开票金额,0),GE(开票金额,50000))`。表示开票金额小于等于 0 或大于等于 50000 时，不允许提交。函数使用请参考：[**逻辑函数使用**](/zh/yida/form/mnx96u)

<Frame>
  ![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1639446118558-8bc4607b-4653-4064-9a49-fdbf32355cff.png)
</Frame>

使用公式 OR(LE(),GE())

<Frame>
  ![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1618817661957-c150ee5d-f23e-48c8-a4e0-322dc9f05d55.png)
</Frame>

报错提示

**注**：设置好规则后，记得点击保存。

## 3. 常用场景

### 3.1 表单如何设置去重校验 ？

方法：在表单校验处配置 EXIST (商品类别)函数即可

* 普通表单校验去重

<Frame>
  ![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/png/1639446276792-a8904e20-3330-428b-974c-eeff06eaf9bd.png)
</Frame>

* 流程表单校验去重

<Frame>
  ![](https://yida-support.oss-cn-shanghai.aliyuncs.com/static/gif/1639446472173-91f37cd7-1480-4551-b929-7b5332ad6de5.gif)
</Frame>
