历史版本8 :联立多字段校验是否与数据库中数据重复 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 问题描述

用户在填报报表中录入数据时,希望可以通过两个或多个字段来验证数据的唯一性。

1.2 解决思路

报表设计时拼接需要校验的多个字段,填报属性中设置内置提交校验公式,验证拼接字段是否与数据库中已有字段重复。

2. 示例编辑

2.1 数据准备

新建数据集 ds1,输入 SQL 查询语句:select *,(产品名称||单价)as aa from S产品

注:SQL 语句中(产品名称||单价)表示将产品名称与单价拼接成一个字段。

Snag_3e6c78.png

2.2 表格设计

如下图设计填报报表:

H2 单元格插入公式:CONCATENATE(B2, C2),表示在填报时将 B2 和 C2 单元格的填入的内容拼接在一起。公式插入后隐藏 H2 单元格。

Snag_4b22fc.png

2.3 填报属性


设置报表的填报属性:

Snag_5b2b4b.png

添加内置提交校验,校验公式为:INARRAY(H2,ds1.group(aa))=0,表示输入的数据需要满足校验公式,即不在group(aa)中,否则就会提示报错信息:"当前产品名称单价与数据库中已有的产品名称单价重复"

Snag_5bc72d.png

2.4 效果查看

1)PC 端

保存报表,点击填报预览,输入与数据库中重复的产品名称和单价,数据校验时会提示报错信息。

FFC31667-8943-4800-A2C1-32A9ABDB473E.GIF

2)移动端

同时支持 App 端和 H5 端,效果如下图所示:
34DCA01D-746E-407E-9BF2-4FA42600B354.GIF

3. 已完成模板编辑

已完成模板可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Form\VerifyForm\内置提交校验验证数据是否重复.cpt

点击下载模板:内置提交校验验证数据是否重复.cpt