制定数据验证规则

0 浏览
0 试用
0 购买
Sep 27, 2025更新

帮助用户为数据字段或类型生成准确的验证规则。

示例1

以下为员工编号(Employee_ID)的数据验证规则。规则分为强制规则与可选增强规则,并提供标准化的验证方法与实施建议。请根据组织具体编号方案对参数进行配置。

一、适用范围
- 适用于所有人力资源主数据、薪酬、考勤、身份与访问管理(IAM)、财务及其他使用员工编号作为主键或外键的系统。
- 适用于生产数据、历史数据、批量导入、接口接入及数据仓库落地。

二、数据元素定义
- 名称:员工编号(Employee_ID)
- 数据类型:字符串(String)
- 角色:企业范围内的唯一主标识(Golden ID),不承载业务语义,不嵌入个人信息。
- 大小写规范:统一存储为大写;客户端输入与展示不区分大小写。

三、强制验证规则(Mandatory)
R1. 非空约束
- 规则:Employee_ID 必填,禁止 NULL、空字符串或仅空白字符。
- 验证方法:Trim 后长度 > 0;禁止不可见字符(如零宽字符)。
- 严重性:阻断(Blocker)。

R2. 唯一性与不可重用
- 规则:企业全域唯一;历史离职或合并记录的编号不得重用。
- 验证方法:主数据层唯一索引;导入时增量比对;保留已使用编号黑名单。
- 严重性:阻断。

R3. 格式与字符集
- 规则:仅允许大写字母 A–Z 与数字 0–9;禁止特殊字符(如空格、连字符、下划线、斜线、点)。
- 验证方法:正则表达式 ^[A-Z0-9]+$(存储前统一转大写)。
- 严重性:阻断。

R4. 长度边界
- 规则:长度在 8–12 字符之间(建议固定长度,便于校验与索引;如组织已有标准,按标准配置)。
- 验证方法:len(Employee_ID) ∈ [8, 12]。
- 严重性:阻断。

R5. 前后空白与前导零处理
- 规则:存储前必须去除前后空白;允许保留业务定义内的前导零(如固定宽度序列),禁止因转换丢失前导零。
- 验证方法:Trim;对输入与输出进行等值校验("00123456" 不得变为 "123456")。
- 严重性:阻断。

R6. 黑名单值
- 规则:禁止使用通用占位或测试值,如 "TEST"、"EMPLOYEE"、"UNKNOWN"、"NULL"、全零或全同字符(如 "00000000"、"AAAAAAAA")。
- 验证方法:设定黑名单集合并在校验时比对。
- 严重性:阻断。

R7. 稳定性与不可变更
- 规则:一旦分配,Employee_ID 不得变更;人员属性变更不得触发编号变更。
- 验证方法:更新接口拒绝对主键字段的修改;仅允许状态位变更。
- 严重性:阻断。

R8. 去语义化与合规
- 规则:编号不得嵌入个人信息或敏感属性(如身份证号、生日、部门/岗位编码、地区代码等),以降低隐私与重识别风险。
- 验证方法:模式扫描与关键字/模式排查(日期样式、身份证样式);抽样审计。
- 严重性:阻断。

R9. 参照完整性(外键约束)
- 规则:所有引用 Employee_ID 的外键值必须在主数据员工表中存在且处于有效状态(或符合历史关联规则)。
- 验证方法:落地/加载前 FK 检查;对失效员工限制新交易(按业务定义)。
- 严重性:阻断或高优先级告警(按业务场景配置)。

R10. 单一数据源与映射
- 规则:Employee_ID 的权威来源为 HR 主数据域;其他系统如使用本地别名,必须维护一对一映射,不得替代主键使用。
- 验证方法:主键映射表唯一性与完备性校验;接口层强制返回主键。
- 严重性:阻断。

R11. 审计与可追溯
- 规则:所有编号分配、引用与拒绝事件必须记录时间戳、来源系统、操作人/服务、请求负载哈希。
- 验证方法:审计日志不可变存储;抽检与对账。
- 严重性:高优。

R12. 错误处理与反馈
- 规则:对违反规则的记录应返回标准化错误码与可操作信息(如 EID_FORMAT_INVALID、EID_DUPLICATE),禁止仅返回通用失败。
- 验证方法:接口契约与批处理校验报告。
- 严重性:高优。

四、可选增强规则(Recommended)
R13. 前缀策略(如适用)
- 规则:可使用固定前缀以标识实体类型(如 "E" 或 "EMP"),但不得泄露组织结构或状态语义。
- 验证方法:正则 ^EMP[0-9A-Z]+$ 或 ^E[0-9A-Z]+$。
- 严重性:建议。

R14. 校验位(提高输入质量)
- 规则:引入一位数字校验位,用于检测输入错误。若编号含数字序列,可采用 Luhn(Mod10)对数字部分计算校验位。
- 计算方法(Luhn,对不含校验位的数字序列 S):
  1) 从最右侧起(不含校验位),奇偶位交替对每第二位数字做加倍;
  2) 加倍结果若大于 9,减去 9;
  3) 将所有处理后的数字求和,取 sum % 10;
  4) 校验位 = (10 - (sum % 10)) % 10;
- 验证方法:对输入编号的校验位重算并比对。
- 严重性:建议(可设为阻断)。

R15. 固定长度与模式示例(模板)
- 示例模式:EMP + 7 位数字序列 + 1 位 Luhn 校验位,总长度 11。
- 正则:^EMP\d{8}$(其中最后一位为校验位,需通过 R14 校验)。
- 说明:仅为模板,需与组织编号方案对齐。

R16. 连续性与跳号策略
- 规则:允许跳号以避免被枚举;禁止回填历史废弃号段。
- 验证方法:号段分配策略与审计。
- 严重性:建议。

R17. 大量导入阈值与速率限制
- 规则:批量生成或导入时应设定速率限制与并发唯一性检查,防止竞态导致重复。
- 验证方法:事务锁/幂等键;导入报告重复率 < 阈值(如 0.01%)。
- 严重性:建议。

五、实施与管控要求
- 验证点:源系统输入层、API 网关、ETL/ELT 作业、数据仓库落地、主数据对账。
- 主数据治理:由数据管理员(Data Steward, HR 域)负责规则维护与例外审批;变更需走治理变更流程(版本化、影响评估、回归测试)。
- 指标监控(DQKPI):唯一性违规率、格式违规率、黑名单命中率、FK 失配率、校验位失败率、异常处理 SLA。

六、示例正则集合(按基线规则)
- 仅限大写和数字:^[A-Z0-9]{8,12}$。
- 模板(含前缀):^EMP[0-9A-Z]{5,9}$(按需要调整具体长度)。
- 禁止空白:^\S+$(辅助校验,存储前 Trim)。

以上规则为组织级数据治理基线。请在落地前确认实际编号方案(长度、是否前缀、是否校验位),并将参数固化到数据字典与接口契约中,同时在主数据平台启用相应的校验与审计。

示例2

Data element: Transaction Amount

Definition
- Purpose: Monetary value associated with a financial transaction.
- Data type: Fixed-point decimal or integer in minor units (recommended).
- Currency dependency: Precision and allowed decimal places depend on the transaction currency per ISO 4217 minor unit (exponent).
- Sign convention: Configurable by transaction_type (e.g., debit, credit, refund) and account/ledger rules.

Validation rules

Syntactic and type integrity
- R1. Not-null
  - Rule: amount must be present for any posted or authorized monetary transaction.
  - Severity: Reject.
- R2. Numeric and finite
  - Rule: amount must be a numeric value; NaN, Infinity, and string formats are not allowed in stored data fields.
  - Severity: Reject.
- R3. Fixed-point representation
  - Rule: amount must be stored using fixed-point decimal with defined precision/scale or as integer in minor units (e.g., cents).
  - Severity: Reject.

Currency-scale and precision
- R4. Decimal places match currency minor unit
  - Rule: decimal scale must equal the currency’s minor unit (ISO 4217). For example, USD=2, JPY=0, KWD=3.
  - Severity: Reject.
- R5. Rounding mode
  - Rule: when calculations produce more precision than allowed, round to the currency minor unit using a defined rounding mode (e.g., round half up or bankers rounding). The rounding mode must be consistent across all services and documented.
  - Severity: Reject if not conformant; Flag if internal intermediate breach before normalization.

Value range and sign
- R6. Non-zero (default)
  - Rule: amount must be > 0 for standard purchase, transfer-out, or deposit transactions.
  - Exception: amount may be < 0 for refunds/chargebacks or = 0 for authorization reversals; exceptions must be explicitly whitelisted by transaction_type.
  - Severity: Reject if outside allowed ranges for the given transaction_type.
- R7. Sign aligned with transaction_type
  - Rule: sign must match the transaction_type-to-sign mapping (e.g., debit=positive, credit=negative) defined in policy.
  - Severity: Reject.
- R8. Maximum per transaction
  - Rule: amount must not exceed Policy.MaxPerTransaction[currency] for the customer/segment/risk tier.
  - Severity: Reject.
- R9. Minimum per transaction
  - Rule: amount must be >= Policy.MinPerTransaction[currency], respecting currency minor units.
  - Severity: Reject.

Contextual and business consistency
- R10. Currency consistency
  - Rule: amount’s precision and rounding must be validated against the transaction currency. If conversion is performed, store original_amount, original_currency, conversion_rate, and converted_amount; validate converted_amount scale to the target currency.
  - Severity: Reject if inconsistent.
- R11. Payment method constraints
  - Rule: enforce method-specific rules (e.g., cash transactions cannot be negative; prepaid cards cannot create negative balances).
  - Severity: Reject.
- R12. Balance protection (if applicable)
  - Rule: posting the amount must not violate account constraints (e.g., no negative balance for accounts without overdraft).
  - Severity: Reject.
- R13. Total reconciliation (if total present)
  - Rule: subtotal + taxes + fees - discounts must equal total_amount within currency minor unit tolerance.
  - Severity: Reject.

Anomaly and limit monitoring
- R14. Rolling limits
  - Rule: sum of amounts per account/identity within defined windows (e.g., daily, weekly) must not exceed Policy.MaxRollingLimit[currency].
  - Severity: Reject or Flag based on policy.
- R15. Outlier detection
  - Rule: Flag if amount exceeds dynamic threshold (e.g., > P99 of last 90 days for the account or > 3 standard deviations above mean).
  - Severity: Flag.
- R16. Duplicate prevention (amount-level)
  - Rule: Flag potential duplicates when identical amount + currency + merchant + payment method occur within a short time window and same authorization reference.
  - Severity: Flag.

Data quality and formatting at ingestion (for string inputs)
- R17. Canonicalization
  - Rule: strip currency symbols, thousands separators, and locale-specific formatting; convert to canonical numeric before storage.
  - Severity: Reject if canonicalization fails.
- R18. Leading/trailing characters
  - Rule: no leading/trailing spaces; no non-numeric characters except one decimal separator (if using decimal representation).
  - Severity: Reject.

Auditability and lineage
- R19. Provenance
  - Rule: record source_system, capture_method, and transformation steps affecting amount and rounding.
  - Severity: Flag if missing (data quality issue).

Configuration parameters (examples)
- Currency minor units: maintained from ISO 4217; override table for non-ISO assets (e.g., crypto).
- Rounding mode: round_half_up or bankers_rounding; single authoritative setting.
- Max/Min per transaction: per currency, per product, per KYC/risk tier.
- Rolling limits: per account/identity and time window.
- Transaction_type-to-sign map: explicit mapping table.

Example implementation patterns

Preferred storage schema
- Option A (minor units integer):
  - amount_minor_units: BIGINT NOT NULL
  - currency_code: CHAR(3) NOT NULL
  - Constraint: amount_minor_units % 1 = 0 (implicit); scale guaranteed by currency minor unit.
- Option B (decimal fixed-point):
  - amount: DECIMAL(18, s) NOT NULL, where s is determined by currency minor unit; if a single column must store multi-currency, enforce scale on write via application logic and validation triggers.

SQL check constraints (illustrative; adjust for your RDBMS)
- Enforce non-zero for purchase:
  - CHECK (transaction_type <> 'PURCHASE' OR amount_minor_units > 0)
- Enforce sign for refunds:
  - CHECK (transaction_type <> 'REFUND' OR amount_minor_units < 0)
- Per-transaction maximum (example for USD; 2 minor units):
  - CHECK (currency_code <> 'USD' OR ABS(amount_minor_units) <= 10000000) -- e.g., USD 100,000.00

Great Expectations-style rules (illustrative)
- expect_column_values_to_not_be_null: amount
- expect_column_values_to_be_of_type: Decimal/Integer
- expect_column_values_to_be_between: min_value=Policy.MinPerTxn[currency], max_value=Policy.MaxPerTxn[currency], parse dynamically per row
- expect_multicolumn_values_to_satisfy: sign aligned with transaction_type
- custom expectation: decimal_places_equal_currency_minor_unit

Operational notes
- Avoid binary floating-point types; use fixed-point decimal or store minor units as integers.
- Maintain a currency metadata service for minor units and rounding rules; do not hardcode in application code.
- All exceptions must be explicit, logged, and reviewed; default stance is reject on violation.
- Version the policy configuration and capture effective_from dates to ensure reproducible validation across policy changes.

示例3

以下为“手机号”数据验证规则,面向数据治理场景,包含字段定义、校验规范、标准化存储、数据质量控制与合规要求。根据业务范围,提供两套规则:仅支持中国大陆手机号(国内场景)与支持全球手机号(国际场景,E.164)。

一、适用范围与标准
- 国内场景(中国大陆手机号):适用全国移动通信号码(不含座机),采用国家标准号段校验。
- 国际场景(全球手机号):采用 E.164 编码规则进行结构校验与存储。

二、字段定义与元数据
- 数据名称:mobile_phone_number
- 数据类型:字符串(String)
- 字段长度:
  - 国内存储(本地格式):11 位
  - 国际存储(E.164):最多 16 个字符(包含前导“+”,最多 15 位数字)
- 字段敏感级别:个人敏感信息(PII)
- 主键/唯一性:按规范化后(canonical)的 E.164 形式建立唯一约束(防重复)
- 允许值域:按下述校验规则

三、校验规则
A. 通用基础规则(输入层)
- 非空校验:不能为空或仅空白字符。
- 字符集校验:仅允许数字、可选的前导“+”,输入中的空格、连字符、括号等展示性字符必须在标准化阶段移除,不参与存储。
- 长度初筛:去除非数字/格式字符后,数字长度应在 7–15 位之间(国际),或恰为 11 位(国内)。

B. 中国大陆手机号校验规则(国内场景)
- 结构规则:必须为 11 位数字,正则:^1[3-9]\d{9}$
  - 说明:以 1 开头,第二位范围 3–9,后续 9 位为数字。该模式覆盖主流运营商与虚拟运营商号段。
- 禁止包含国内拨号前缀(如 0、(0) 等)、分隔符;输入层允许存在分隔符但标准化时移除。
- 规范化存储:
  - 国内本地格式:存 11 位(例:13800000000)
  - 国际统一格式(推荐):存 E.164(例:+8613800000000)
- 业务校验(可选强化):发送一次性验证码(OTP)或语音回拨验证,以确认可达性与活跃性。

C. 全球手机号校验规则(国际场景,E.164)
- 结构规则:国际表示正则:^\+[1-9]\d{1,14}$
  - 说明:前导“+”,其后为国家码(不能以 0 开头),总数字长度最多 15 位;不包含国家内的拨号前缀或分隔符。
- 标准化要求:
  - 移除空格、连字符、括号等展示性字符。
  - 将“00”国际接入码转换为“+”(例如 0044123456789 → +44123456789)。
  - 禁止保留国家内长途/国内前缀(如 0)。
- 可选国家级校验(增强):在已知国家码下,校验该国的国家重要号码(NSN)长度边界与已知移动号段前缀(需维护国家规则表);注意该校验需定期维护更新。

四、标准化与存储策略
- 规范化流程(输入→存储):
  1. Trim 去除首尾空白。
  2. 移除所有非数字字符,保留可选前导“+”;将“00”替换为“+”。
  3. 若为国内场景且无国家码:在通过国内正则校验后,生成 E.164 表示为 +86 + 本地 11 位。
  4. 再次按目标规则校验(国内或国际)。
  5. 以 E.164 形式作为 canonical 存储,并用于唯一性与比对。
- 展示层可按区域格式化,但数据库始终存 canonical(E.164)。
- 索引与去重:对 canonical 字段建立唯一索引;新增或更新前进行去重检查。

五、数据质量管理
- 质量维度与度量:
  - 完整性:手机号非空率 ≥ 指标阈值(如 99%)。
  - 有效性:通过规则校验的比例 ≥ 阈值(如 98%)。
  - 一致性:存储统一为 E.164;不同系统间一致率 ≥ 阈值。
  - 唯一性:重复率 ≤ 阈值(如 ≤ 0.5‰)。
  - 可达性:验证码送达成功率、退回率监控。
- 异常处理:
  - 失败原因分类(空值、非法字符、长度不符、号段不符、E.164 不合规)。
  - 生成标准错误码与友好提示,支持数据修复工作流。
- 变更管理:国家号段、规则库定期审查与更新;版本化规则并记录生效日期。

六、合规与安全要求
- 分类分级:标为 PII,纳入个人信息保护与访问控制策略。
- 存储与传输:使用加密传输(TLS),静态加密或字段级加密(视风险等级)。
- 最小化与目的限制:仅为联系与认证目的收集;超目的使用需评估与授权。
- 脱敏与展示:日志、报表、测试数据中进行部分掩码(如 +86138****0000)。
- 保留与删除:按数据保留政策定期清理未验证或过期手机号;满足数据主体删除请求。
- 审计与合规:记录采集、验证、变更与访问审计;满足适用法律法规(如数据跨境传输合规)。

七、实现示例(规则表达)
- 国内手机号正则(输入层):^1[3-9]\d{9}$
- 国际 E.164 正则(canonical 层):^\+[1-9]\d{1,14}$
- 伪代码流程(简化):
  - 输入 s
  - s = trim(s)
  - 若 s 以 "00" 开头 → s = "+" + s[2:]
  - 移除除数字与前导“+”外的字符
  - 若国内模式:
    - 若 s 匹配 ^1[3-9]\d{9}$ → canonical = "+86" + s
    - 否则失败
  - 若国际模式:
    - 若 s 匹配 ^\+[1-9]\d{1,14}$ → canonical = s
    - 否则失败
  - 写入 canonical;建立唯一索引;必要时触发 OTP 验证

八、测试用例(示例)
- 有效(国内):13800000000 → +8613800000000
- 有效(国际):+441234567890 → +441234567890
- 标准化:"(+86) 138-0000-0000" → +8613800000000
- 无效:123456、+012345、+86 13800000000(含空格且未规范化时)、1A800000000(含字母)

以上规则可直接纳入数据标准与校验服务,结合数据质量监控与合规控制形成闭环。根据组织业务范围选择国内或国际模式,或并行支持并通过 canonical 存储确保一致性与可用性。

适用用户

数据治理负责人

建立企业统一的数据校验标准与治理手册,快速生成各字段规则,支撑合规审查与审计留痕。

数据工程师/数据集成开发

为导入、同步、清洗流程设计校验逻辑与异常处理方案,减少坏数据入库与返工成本。

产品经理/运营负责人

为注册、下单、表单等关键页面制定字段规则,提升有效数据比例与转化效率。

数据分析师

规范指标口径与字段取值范围,提升源数据稳定性,降低报表偏差与误判风险。

合规与风控专员

快速识别敏感数据的合规校验项,形成可追溯的规则说明,满足审查与风险控制要求。

CRM/营销自动化管理员

统一客户资料的格式、必填项与唯一性校验,保证分群、个性化触达与绩效评估的准确性。

解决的问题

让 AI 以“数据治理专家”的视角,为你指定的任意数据字段或类型,快速产出准确、可落地、便于评审的验证规则。通过清晰的结构与专业表达,覆盖字段定义、合法取值范围、格式规范、必填与唯一性、依赖与关联、异常与边界、质量度量与合规要点,以及示例与测试要点,帮助团队统一口径、降低风险、提升数据可信度。支持多语言输出与不同业务场景,便于直接用于需求文档、测试用例、数据字典与审计材料,加速从“规则构思”到“可执行规范”的全过程,推动高质量上线与持续治理。

特征总结

一键为指定数据字段生成可执行验证规则,提升数据录入准确率与一致性。
自动结合企业数据政策与合规要求,输出符合审计可追溯的标准化规则说明。
支持多语种规范化描述,便于跨团队沟通与培训,减少规则理解偏差与执行分歧。
智能识别字段类型与业务场景,推荐必填、取值范围、格式与异常处理方案。
提供结构化校验逻辑与示例,快速落地到表单、批量导入及数据清理流程。
可按行业场景定制模板参数,灵活适配营销、客服、风控等核心数据标准。
自动检查规则冲突与遗漏,提示边界条件与异常案例,降低上线后的数据风险。
输出清晰的治理说明与维护指南,支持版本迭代与团队协作,确保持续可用。
将验证规则与质量指标关联,帮助搭建可量化监控基线,及时发现并修复问题。

如何使用购买的提示词模板

1. 直接在外部 Chat 应用中使用

将模板生成的提示词复制粘贴到您常用的 Chat 应用(如 ChatGPT、Claude 等),即可直接对话使用,无需额外开发。适合个人快速体验和轻量使用场景。

2. 发布为 API 接口调用

把提示词模板转化为 API,您的程序可任意修改模板参数,通过接口直接调用,轻松实现自动化与批量处理。适合开发者集成与业务系统嵌入。

3. 在 MCP Client 中配置使用

在 MCP client 中配置对应的 server 地址,让您的 AI 应用自动调用提示词模板。适合高级用户和团队协作,让提示词在不同 AI 工具间无缝衔接。

¥20.00元
平台提供免费试用机制,
确保效果符合预期,再付费购买!

您购买后可以获得什么

获得完整提示词模板
- 共 242 tokens
- 2 个可调节参数
{ 数据字段或类型 } { 输出语言 }
自动加入"我的提示词库"
- 获得提示词优化器支持
- 版本化管理支持
获得社区共享的应用案例
限时免费

不要错过!

免费获取高级提示词-优惠即将到期

17
:
23
小时
:
59
分钟
:
59