自动化数据验证,让数据填写更规范

概述

数据验证是伙伴云 自动化家族 中高频使用、对数据规范性有很高价值的功能模块。

日常工作中,我们常常因为手机号、身份证号、税号等数据输入的不够规范而陷入麻烦中,发现后需要重新校对后才能进行计算和统计,造成大量返工。而排查起来又十分的费力,令人苦不堪言。

数据验证可以完美解决以上问题:对不合法的输入进行限制并告知原因,对有错误风险的输入进行友好提示。


功能特点

  • 限制文本长度:文本必须满足长度才可进行提交,例如手机号的长度必须为11位,身份证的长度必须为18位等等。
  • 规范日期输入:日期必须满足规范化,例如某件商品的出库日期一定要大于等于入库日期。
  • 限制重复输入:若表格中已经存在某一ID值,例如手机号,身份证号等,则该数据无法被写入。
  • 限制输入条件:例如只有客户类型为成交客户的,才可以发起售后交接,否则无法发起交接。

场景案例

手机号验证

企业税号验证

身份证号验证

折扣过大时弹出提示,但仍允许保存



设置步骤

1. 创建数据验证

点击表格标题 ,选择【自动化 → 数据验证】,即可进入数据验证的创建界面。

image-20231012191526335

2. 选择触发方式

数据验证支持以下触发方式:

  1. 创建数据之后:在创建数据之后,执行数据验证。
  2. 修改数据之后:在修改数据之后,执行数据验证。
  3. 删除数据之后:在删除数据之后,执行数据验证。
  4. 组合选择:若同时选择了多种触发方式的话,只要执行的操作中有自己勾选的触发方式,就会执行该数据验证。

选择触发方式后点击【下一步:配置触发条件】,数据验证的触发方式配置完成。

img

3. 配置验证条件

可以使用伙伴云的「表达式」设置条件;若留空则视为无条件,数据验证永远执行(常用于提示场景)。

关于表达式的使用,请参阅:理解伙伴云的表达式

img

我们还可以控制验证的字段范围:

  • 对条件涉及到的本表字段操作时才执行此验证:只有在条件中提及的字段发生了改变才会执行此数据验证。
  • 对本表任意字段操作时都执行此验证:该表格中的任意字段发生了改变都会执行此验证。

img

以及成员范围:

  • 所有成员提交数据都需要满足验证条件:管理员无特殊权限,所有角色都需满足验证条件才能将数据提交成功。
  • 管理员提交数据不受验证条件限制:管理员有特殊权限,不满足验证条件即可将数据提交成功。

img

点击下一步按钮完成配置

img

4. 配置异常处理

此处设置数据未满足条件的情况下的处理方式。

第一步:配置异常处理方式

  • 禁止提交:未满足条件的数据无法进行提交
  • 二次确认后仍可保存:未满足条件的数据进行弹窗提醒,若强行保存的话依旧可以进行保存。

注:二次确认后仍可保存(批量修改/删除、导入将不出二次确认,直接保存)

img

第二步:配置提示文案

可使用表达式配置提示文案。

img

第三步:点击保存,配置完成

img

5. 注意事项

5.1 验证数据重复时,有两种方式:

  • 编辑字段中的“不允许重复”,只能控制当前字段不重复,不适用于校验多个字段。
    • 编辑字段的 “不允许重复”,仅文本、号码、数值、金额类型字段支持。
  • 数据验证,可依据多个字段 验证数据 不重复。

5.2 数据验证配置机制是:先验证,后提交。

5.2.1 创建数据提交验证时 数据未创建,验证条件查询到的数据中不包含刚提交的数据,即COUNT(当前表格,查询条件)=0时,说明不重复;

5.2.2 修改数据提交验证时 数据已创建,此时可能存在以下两种情况:

  • 修改的是验证条件中的字段时,COUNT() 结果为 0,则说明不重复;
  • 修改的不是验证条件中的字段时,由于验证条件涉及的字段未发生修改,当前数据满足 COUNT() 中查询条件,导致即使没有其他重复数据,COUNT() 结果也不为 0 。

这两种情况可通过以下方式来兼容:

  • 【方式 1】把验证范围-字段范围修改为“对条件涉及到的本表字段操作时才执行此验证”,缩小验证触发范围;
    • img
  • 【方式 2】修改验证条件,排除查询到当前数据的情况,验证范围-字段范围选择任意项均可。
    • 在原有的查询条件基础上,增加限制,要求查询到的 {当前表格.数据id} != {当前数据.数据id} ,排除查询到当前数据的情况,表达式参考下图:
    • img

5.3 数据验证中的 “新值 & 原值”

  • 触发方式选择修改时,设置条件和异常文案才能调用到当前数据字段的新值&原值;
  • 触发方式选择创建&修改时,设置条件和异常文案调取到的当前数据字段值默认为数据的新值,即创建/修改后的值。
    • 此时,若需要调取修改前的原值,可单独配置一个仅修改触发的数据验证。

5.4 批量导入数据时,数据验证会校验每一条要导入的数据与表格中已有数据是否重复,但不会校验待导入的这批数据间是否重复,所以待导入的数据即使存在重复,也都能导入成功。

这种情况目前没有直接拦截的方案,只能在导入前后对数据进行处理:

  • 导入前,通过 Excel 中的查重功能,前置地把重复数据处理掉;
  • 导入后,通过触发器,标记出重复数据进行处理。
2025-01-06 更新
6343 次查看
1