概述
数据验证是伙伴云 自动化家族 中高频使用、对数据规范性有很高价值的功能模块。
日常工作中,我们常常因为手机号、身份证号、税号等数据输入的不够规范而陷入麻烦中,发现后需要重新校对后才能进行计算和统计,造成大量返工。而排查起来又十分的费力,令人苦不堪言。
数据验证可以完美解决以上问题:对不合法的输入进行限制并告知原因,对有错误风险的输入进行友好提示。
功能特点
- 限制文本长度:文本必须满足长度才可进行提交,例如手机号的长度必须为11位,身份证的长度必须为18位等等。
- 规范日期输入:日期必须满足规范化,例如某件商品的出库日期一定要大于等于入库日期。
- 限制重复输入:若表格中已经存在某一ID值,例如手机号,身份证号等,则该数据无法被写入。
- 限制输入条件:例如只有客户类型为成交客户的,才可以发起售后交接,否则无法发起交接。
场景案例
手机号验证
企业税号验证
身份证号验证
折扣过大时弹出提示,但仍允许保存
设置步骤
1. 创建数据验证
点击表格标题 ,选择【自动化 → 数据验证】,即可进入数据验证的创建界面。
2. 选择触发方式
数据验证支持以下触发方式:
- 创建数据之后:在创建数据之后,执行数据验证。
- 修改数据之后:在修改数据之后,执行数据验证。
- 删除数据之后:在删除数据之后,执行数据验证。
- 组合选择:若同时选择了多种触发方式的话,只要执行的操作中有自己勾选的触发方式,就会执行该数据验证。
选择触发方式后点击【下一步:配置触发条件】,数据验证的触发方式配置完成。
3. 配置验证条件
可以使用伙伴云的「表达式」设置条件;若留空则视为无条件,数据验证永远执行(常用于提示场景)。
关于表达式的使用,请参阅:理解伙伴云的表达式
我们还可以控制验证的字段范围:
- 对条件涉及到的本表字段操作时才执行此验证:只有在条件中提及的字段发生了改变才会执行此数据验证。
- 对本表任意字段操作时都执行此验证:该表格中的任意字段发生了改变都会执行此验证。
以及成员范围:
- 所有成员提交数据都需要满足验证条件:管理员无特殊权限,所有角色都需满足验证条件才能将数据提交成功。
- 管理员提交数据不受验证条件限制:管理员有特殊权限,不满足验证条件即可将数据提交成功。
点击下一步按钮完成配置
4. 配置异常处理
此处设置数据未满足条件的情况下的处理方式。
第一步:配置异常处理方式
- 禁止提交:未满足条件的数据无法进行提交
- 二次确认后仍可保存:未满足条件的数据进行弹窗提醒,若强行保存的话依旧可以进行保存。
注:二次确认后仍可保存(批量修改/删除、导入将不出二次确认,直接保存)
第二步:配置提示文案
可使用表达式配置提示文案。
第三步:点击保存,配置完成
5. 注意事项
5.1 验证数据重复时,有两种方式:
- 编辑字段中的“不允许重复”,只能控制当前字段不重复,不适用于校验多个字段。
- 编辑字段的 “不允许重复”,仅文本、号码、数值、金额类型字段支持。
- 数据验证,可依据多个字段 验证数据 不重复。
5.2 数据验证配置机制是:先验证,后提交。
5.2.1 创建数据提交验证时 数据未创建,验证条件查询到的数据中不包含刚提交的数据,即COUNT(当前表格,查询条件)=0时,说明不重复;
5.2.2 修改数据提交验证时 数据已创建,此时可能存在以下两种情况:
- 修改的是验证条件中的字段时,COUNT() 结果为 0,则说明不重复;
- 修改的不是验证条件中的字段时,由于验证条件涉及的字段未发生修改,当前数据满足 COUNT() 中查询条件,导致即使没有其他重复数据,COUNT() 结果也不为 0 。
这两种情况可通过以下方式来兼容:
- 【方式 1】把验证范围-字段范围修改为“对条件涉及到的本表字段操作时才执行此验证”,缩小验证触发范围;
- 【方式 2】修改验证条件,排除查询到当前数据的情况,验证范围-字段范围选择任意项均可。
- 在原有的查询条件基础上,增加限制,要求查询到的 {当前表格.数据id} != {当前数据.数据id} ,排除查询到当前数据的情况,表达式参考下图:
5.3 数据验证中的 “新值 & 原值”
- 触发方式仅选择修改时,设置条件和异常文案才能调用到当前数据字段的新值&原值;
- 触发方式选择创建&修改时,设置条件和异常文案调取到的当前数据字段值默认为数据的新值,即创建/修改后的值。
- 此时,若需要调取修改前的原值,可单独配置一个仅修改触发的数据验证。
5.4 批量导入数据时,数据验证会校验每一条要导入的数据与表格中已有数据是否重复,但不会校验待导入的这批数据间是否重复,所以待导入的数据即使存在重复,也都能导入成功。
这种情况目前没有直接拦截的方案,只能在导入前后对数据进行处理:
- 导入前,通过 Excel 中的查重功能,前置地把重复数据处理掉;
- 导入后,通过触发器,标记出重复数据进行处理。