关于组合字段在JS校验填报值是否在数据库中存在

请问一下关于JS校验填报值是否在数据库中存在这个,我想验证的是两个字段合起来判断是否已经存在这个js应该怎么写?

比如我再添加一个公式列E3值为CONCATENATE(D3,C3),如何去判断E3是否已经存在该怎么写?

参考文档的js脚本如下,该怎么改造?

var id = this.getValue();//获取当前单元格值//创建正则表达式将值内的";"转为","var str=';';var value = id.replace(new RegExp(str,'gm'),',');//alert(value);var arr1 = value.split(',');//字符串数组//alert(arr1);let arr2=pm.map(String);//将pm由数值数组转换为字符串数组//alert(arr2);//取arr1有而arr2所没有的数组对象组成的差集let diff = arr1.filter(function (val) { return arr2.indexOf(val) === -1 })//alert(diff);//去除空数组diff=$.grep(diff,function(x){return $.trim(x).length>0;});//判断差集数组的长度,若不为0,则表示单元格内存在不属于数据库中的值,弹出提示。if(diff !=0){  alert('雇员ID:'+diff+'不存在');}

FineReport 用户d9908268 发布于 2024-6-6 10:04
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
CD20160914Lv8专家互助
发布于2024-6-6 10:05(编辑于 2024-6-6 10:10)

联立多字段校验是否与数据库中数据重复- FineReport帮助文档 - 全面的报表使用教程和学习资料 (fanruan.com)

直接用公式不行?你如果是js的话,得循环判断页面的所有数据行。对它计数,如果这个计数大于1,就把这个值返回放在数组中。最后弹出数组的内容

image.png

---------------判断重复方式-----------------

var ary = new Array("111","22","33","111"); 

 var nary=ary.sort();

for(var i=0;i<ary.length;i++)

{if (nary[i]==nary[i+1])

{ alert("数组重复内容:"+nary[i]); 

 } 

 }

image.png

  • 2关注人数
  • 146浏览人数
  • 最后回答于:2024-6-6 10:10
    请选择关闭问题的原因
    确定 取消
    返回顶部