数据集规则

数据集中有些列的值是有要求的,比如不能为空、是手机号、邮箱地址、身份证号等,又比如数据中记录的是创建时间,最后修改时间等。

针对这些需求,系统提供三种数据集规则实现相应的功能,分别是计算规则、约束规则和忽略规则。

规则分类

规则分类功能应用场景
计算规则设置列的默认值前端传入值,使用前端的值,前端没有传值,使用默认值
设置列的固定值不管前端有没有传值,都使用固定值
根据其他列的值,计算出本列的值有计算需求的列,例如金额=单价*数量
新增时赋值,修改时不赋值仅在新增时写入创建时间
新增时不赋值,修改时赋值仅在更新时写入最后修改时间
约束规则对值进行校验,不符合规则,不能保存,有错误提示,有校验顺序不能为空,校验手机号、邮箱地址、身份证号
忽略规则新增或修改数据时,不写入数据表使用数据库函数,例如自增列

计算规则

一个数据列只能设置一个计算规则,一个计算规则提供4个计算时机的选项和一个计算表达式。

计算时机的选项分别是:插入时计算、更新时计算、传值时计算和未传值时计算。插入时计算和更新时计算必须选择其一或全选,传值时计算和未传值时计算也必须选择其一或全选。计算表达式是 Spring 表达式。

设置入口(点击表页签的数据集参数下方的+号,选择“数据集规则”):

1659510905332

下面展示几个案例:

  • 设置默认值为当前时间

  • 设置创建时间

  • 设置最后修改时间

  • 计算金额等于单价乘以数量

约束规则

一个数据列设置一个约束规则,一个约束规则可以包括多个校验函数,通过校验函数实现验证数据的合法性。每个校验函数包括参数、校验失败时的提示和校验顺序。通过设置校验顺序控制校验函数的执行次序。

系统提供的校验函数如下

函数名 参数 说明
数值范围 min 最小值 max 最大值 在最小值和最大值之间
整数最大值 value 指定值 验证值是否小于等于 value
整数最小值 value 指定值 验证值是否大于等于 value
浮点数最大值 value 指定值 验证值是否小于等于 value
浮点数最小值 value 指定值 验证值是否大于等于 value
数字格式 integer 整数位数 fraction 小数位数 验证值的整数位数和小数位数上限
非空 验证值不是 null
是空 验证值是 null
字符串非空 验证字符串长度不为0、集合大小不为0
字符串长度 min 最小值 max 最大值 验证字符串长度是否在 min 和 max 区间内
过去时间 验证是否比当前时间早
未来时间 验证是否比当前时间晚
邮件地址验证 验证值是否是 Email 格式
一个或多个常量值 v 常量字符串数组 验证值是否在常量字符串数组内
正则表达式 regex 正则表达式 flag 标志 验证是否满足正则表达式,flag 参考 Pattern.compile(String regex, int flag)方法中的flag
Spring表达式 Spring 表达式,表达式中使用“#列标识”获取列值 验证是否满足 Spring 表达式,例如订单编号必须以 DD 开头,#orderNo.substring(0,2)=="DD"

下面展示几个案例

  • 验证非空

  • 验证手机号——使用正则表达式

  • 验证输入内容——使用常量数组

  • 验证输入内容——使用 Spring 表达式

忽略规则

一个数据列有一个忽略规则,可以忽略新增,也可以忽略更新。忽略的意思是不管这一列有没有值,包括前端传入值,或计算规则的计算值,这一列都不会被提交到数据库。

例如,在数据表中设置了自增字段,此时就需要设置忽略规则,不将这一列的数据提交到数据库。

访问规则

每个数据列都可以设置允许访问或禁止访问。对于数据集来说如果设置了某些列是允许访问的,则其他列不允许访问,不设置则所有列都可访问。如果设置了某些列是禁止访问的,则这些列不允许访问。

results matching ""

    No results matching ""