表单设计过程中,我们可以通过字段校验对每个字段设置「不允许重复提交」。但在实际业务中,可能每个字段都允许重复,但几个字段加起来则不允许重复。
本文将通过每人每天只能提交一条数据的案例,来介绍如何实现多个字段的重复值校验。
1)通过 GETUSERNAME 函数获取当前成员姓名,便于转化为文本参与公式编辑;
2)在校验字段中,通过 CONCATENATE 函数连接需要校验的多个字段,形成该条数据的唯一值,如汇报人+汇报日期;
3)对校验字段设置「不允许重复值」,实现多字段的重复值校验。
以每日提交工作汇报的场景为例,当某成员今日已提交过工作汇报时,同一天将无法重复提交,效果如下:
在学习之前建议安装 每人每天只能提交一条数据 应用模板,本文将按照模板中的示例数据进行讲解。
以每日提交工作汇报的场景为例:
新建「工作汇报表」表单,字段设置如下:
字段名称 | 字段类型 |
汇报人 | 单行文本 |
汇报日期 | 日期时间(默认值:填写当时) |
今日工作汇报 | 多行文本 |
校验字段 | 单行文本 |
由于成员字段不便参与公式编辑,故使用单行文本字段代替,并通过 GETUSERNAME 函数实现获取当前成员昵称的效果。
1)选中「汇报人」字段,在「字段属性 >> 默认值」处,设置默认值为「公式编辑」,点击下方「编辑公式」:
2)在公式编辑页面,设置「汇报人」字段的公式为:GETUSERNAME(),即自动获取当前成员的成员昵称。
设置好记得点击「确定」保存。
3)按照同样的方法,设置「校验字段」的公式为:CONCATENATE(汇报人,TEXT(DATE(汇报日期),"yyyyMMdd")),即通过 CONCATENATE 函数连接汇报人姓名和汇报日期,作为每人每天提交数据的唯一值。
对「校验字段」设置重复值校验,当表单中已有该成员今日提交的数据时,不允许再次提交表单。
选中「校验字段」,在「字段属性 >> 校验」处,勾选「不允许重复值」,自定义提示内容为「今日已提交过数据,请勿重复提交!」:
为确保数据的准确性和表单的美观性,可在「字段属性 >> 字段权限」处,设置如下字段权限:
设置字段不可见后,需在「表单属性 >> 不可见字段赋值」处,设置赋值规则为「始终重新计算」:
效果演示参见本文【1.4 预期效果】。