找回密码
 立即注册

QQ登录

只需一步,快速开始

Joe.xu 讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2021-1-14 19:32  /   查看:4878  /  回复:0
本帖最后由 Joe.xu 于 2021-1-15 09:21 编辑

       很多小伙伴可能都知道,一般单元格设置了数据校验,一旦这个单元格失去焦点,就会触发这个校验,而如果在设计器中设置->应用程序设置中,把当失去焦点不触发校验勾选掉(如下图),会发现设置了数据校验的单元格失去焦点后不会校验了,但再提交数据的时候就会触发校验了。 image.png348046569.png



那如果有这样一个需求,比如填写表单的时候,填了一半想要暂存一下,过一会接着之前的填,那怎么在暂存的时候跳过数据校验,最终保存时触发数据校验呢?
image.png839723205.png

嘿嘿,在无所不能活字格中这是难事儿吗,下面我们就来详细看下如何实现
(1)首先在一个表单中加上数据校验,然后在设计器中设置->应用程序设置中,把当失去焦点不触发校验勾选掉(如上图),关键的页面在设计器中是这样的
image.png989788207.png
(2)在暂存按钮,设置命令,先用一个jS命令将数据校验的方法存起来,再将原来的校验方法放空,直接return,代码如下
  1. window.oldMethod = Forguncy.ValidationMananger.validateAllCells;
  2.        Forguncy.ValidationMananger.validateAllCells = function(){
  3.           return 0;
  4.         };
复制代码

image.png394241332.png
      这样后面对表的操作就不会触发校验了,接着可以根据逻辑对数据表进行添加或者更改
(3)在对表操作完成后,切记:要把之前放空的方法还原,不然整个项目的校验都会失效哦,代码是这样的,
  1. Forguncy.ValidationMananger.validateAllCells = window.oldMethod;
复制代码

image.png499320067.png

以上三步,就完成了在点击暂存时让校验失效,点击提交时触发校验的功能啦
image.png675851134.png



最后呈上demo
dataValidatet.fgcc (56.09 KB, 下载次数: 247)

评分

参与人数 2金币 +5 满意度 +5 收起 理由
追风 + 5
Grayson.Shang + 5

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部