「字段控件事件」应用实例一:表单中校验会议室预约时段是否可用

分享 表单事件控件事件  收藏
4 / 392

在会议室预约场景中,表单通常配置了“会议室”、“日期”、“开始时间”和“结束时间”四个字段用来确认会议场地的唯一可用性。因为这里的“开始时间”和“结束时间”在同一天内还要排除时间段包含关系,所以即使通过设置多字段的“联合唯一索引”,也无法准确的校验指定时间段是否存在交叉重复值。

这种情况下,我们就可以通过“自定义控件事件”来实时校验指定日期时间段内对应的会议室是否空闲。

Step 1:添加事件

要实现上述效果,我们需要为“会议室”、“日期”、“开始时间”、“结束时间”4 个字段都添加相同的事件。

我们首先在“会议室”字段添加“值改变时”事件。

Step 2:添加执行条件

这个事件的执行我们要设置同时满足两个条件:

  1. 预约会议室所有涉及的字段都填写有值;
  2. 查询会议室预约工作表,当查询结果满足我们需要的会议室当时有空闲;

在“如果满足条件”处点击右侧菜单中的“按字段值”,添加满足字段值筛选的条件,这一步主要是检查所有字段都不能为空:

再添加一个“按查询工作表”的条件,这一步是校验在这个时段内是否已经有存在会议室预约记录:

Step 3:添加执行动作

当满足上述条件时,我们期望能有一个提示消息告诉用户当前时段已经被占用,并清空当前的字段。

点击下方的“+ 执行动作”,添加一个“提示消息”的动作;

Setp 4:复制事件

把配置好的事件,直接复制到“日期”、“开始时间”和“结束时间”这三个字段的“值改变”事件上:

小贴士:控件之间将共用复制而来的事件,一处修改,全部生效

然后记得把“执行动作”中的“设置字段值”动作修改为“清空”自身字段。

事件运行效果

配置好事件保存后,当我们在创建或者编辑记录时,如果选择的会议室时间段不可用,则会弹出提示并清空我们输入的内容: