数据查重
配置对象数据在保存、导入时的重复校验规则,防止重复数据录入。
概述
数据查重(对象设置 → 「数据查重」卡片)用于在对象维度设置重复判定规则。当数据写入时,系统会按配置的查重字段与查重模式检查是否已存在重复数据,命中则拒绝写入并提示。
配置项
| 配置项 | 说明 |
|---|---|
| 查重字段 | 参与重复判定的字段,可多选 |
| 查重模式 | 决定多个字段之间的判定关系 |
| 重复后消息提示 | 命中重复时展示给用户的提示文案 |
查重模式
| 存储值 | 名称 | 说明 |
|---|---|---|
0 | 独立查重 | 任一查重字段重复即判定为重复(字段之间为「或」) |
1 | 组合查重(And) | 所有查重字段都重复才判定为重复(字段之间为「与」) |
配置联动
「查重模式」与「重复后消息提示」仅在已选择至少一个「查重字段」后显示。查重模式为必填项。
配置方法
- 进入对象设置页的「对象设置」页签。
- 在「数据查重」卡片中,选择要参与查重的字段(可多选)。
- 选择查重模式(独立查重 / 组合查重)。
- 可选:填写「重复后消息提示」,未填写时使用系统默认的重复数据提示。
下一步
属性明细
以下内容面向技术实现与 AI 检索。
配置项定义
| 属性名 | 类型 | 含义 | 取值/存储值 |
|---|---|---|---|
Properties.RepeatValidateFields | string[] | 查重字段编码集合 | 字段 Code 数组,可为空 |
Properties.RepeatValidateRelation | RepeatValidateRelationEnum | 查重字段关系 | 0 = IndependentCheck(独立查重)、1 = And(组合查重) |
Properties.RepeatMessage | string | 重复后消息提示 | 纯文本,为空时使用系统默认提示 |
查重关系的枚举定义:
public enum RepeatValidateRelationEnum
{
IndependentCheck = 0,
And = 1,
}
存储示例
{
"Properties": {
"RepeatValidateFields": ["isbn", "name"],
"RepeatValidateRelation": 1,
"RepeatMessage": "ISBN 与书名已存在"
}
}
校验逻辑说明
- 数据校验入口为
MetaFieldService.DataVerificationAsync,按RepeatValidateFields逐个字段构建Eq条件。 RepeatValidateRelation为IndependentCheck时对字段条件做「或(Or)」组合;为And时做「与(And)」组合,其他取值抛出NotSupportedException。- 命中重复时抛出异常,消息取
RepeatMessage,为空则取系统默认的重复数据提示(DataDuplicate)。