子表单校验
1. 简介
1.1 功能简介
表单提交校验 是指只有填写的内容满足校验条件,才能成功提交数据。由于子表单字段的特殊性,与普通字段的提交校验设置略有不同,故本文将介绍几种常用的子表单校验设置方法。
1.2 应用场景
- 进销存场景 中,使用子表单作为订单明细时,可以通过表单提交校验,来限制订单的数据、总和、总价等数值;
- 课程预约场景中,可以通过表单提交校验,限制预约明细中报名人的选课时间、课节等信息;
- 退休信息登记场景中,可以通过表单提交校验,限制人员明细中的性别、年龄等信息。
1.3 预期效果
以【3.3 综合校验】的案例为例,只有满足“性别为男且年龄大于 60 岁,性别为女且年龄大于 50 岁”的条件,才能成功提交表单:
2. 设置入口
1)在表单设计页面添加好字段后,点击「表单属性 >> 表单提交校验 >> 添加校验条件」:
2)进入提交校验页面,填写如下内容:
- 不满足校验条件时提示的文字
- 校验公式
填写好内容后点击「确定」保存即可。
3. 常见子表单校验设置方法
3.1 数值类校验
数值类校验是指,对子表单中的单个数字字段的值或多个数字字段的计算结果进行校验。例如:最大值校验、总和校验、总价校验等。
3.1.1 最大值校验
要求每一条子表单数据中的数字字段必须小于 100,即所有记录中的数字的最大值必须小于 100,可设置公式为:
MAX(子表单.数字)<100
3.1.2 总价校验
要求总价必须小于 100,即单价与数量的乘积之和必须小于 100,可设置校验公式为:
SUMPRODUCT(子表单.单价,子表单.数量)<100
3.2 文本类校验
文本类校验是指,对子表单中的文本类字段输入内容进行校验。
例如:选项内容校验中,要求子表单的下拉框选项都选择“是”的时候才能提交,可设置校验公式为:
TEXT(UNION(子表单.下拉框))=='是'
3.3 综合校验
综合校验是指,对子表单的多个字段进行内容和数值的多重校验;当校验条件比较复杂时,可以使用如下方法设置校验条件:
1)子表单添加数字字段作为辅助字段,设置公式为:
IF(逻辑条件,0,1)
2)设置表单校验公式为:
SUM(数字字段)==0
例如:要求子表单数据中,性别等于“女”且年龄大于 55 岁,性别等于“男”且年龄大于 60 岁的数据才能提交,任意一行不满足就不能提交。
1)对子表单中的辅助字段设置公式为:
IF(OR(AND(信息登记.性别=='女',信息登记.年龄>55),AND(信息登记.性别=='男',信息登记.年龄>60)),0,1)
2)设置表单校验公式为:
SUM(信息登记.辅助字段(数字))==0
注:如需设置辅助字段为不可见,则一定要在表单属性中修改「不可见字段赋值」属性为「始终重新计算」。