2.5.6 数据集规则

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

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

1. 规则分类

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

2. 计算规则

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

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

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

1659510905332

下面展示几个案例:

  • 设置默认值为当前时间

  • 设置创建时间

  • 设置最后修改时间

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

3. 约束规则

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

系统提供的校验函数如下 | 函数名 | 参数 | 说明 | | --- | --- | --- | | 数值范围 | 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表达式 | e Spring表达式,表达式中使用“#列标识”获取列值 | 验证是否满足Spring表达式,例如订单编号必须以DD开头,#orderNo.substring(0,2)=="DD" |

下面展示几个案例

  • 验证非空

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

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

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

4. 忽略规则

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

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

5. 访问规则

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

results matching ""

    No results matching ""

    results matching ""

      No results matching ""