写了一个校验前事件,用的按钮提交,按钮作用是校验并提交,现在检验出了不匹配的列,但是还是会提交

image.png

FineReport yzmxYDx35608993 发布于 2023-6-1 13:22 (编辑于 2023-6-1 14:53)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
用户k6280494Lv6资深互助
发布于2023-6-1 13:24(编辑于 2023-6-1 14:42)

必须把校验公式写在这里

内置校验

JS实现填报校验后返回错误信息

image.png

var A2 = _g().getCellValue("A2", null);

//获取A2的值 

var a2_len = A2.length;

// Excel导入之后的单元格内容 

var B1 = _g().getCellValue("B1", null); 

var B2 = _g().getCellValue("B2", null); 

var b2_len = B2.length; 

var C1 = _g().getCellValue("C1", null); 

var C2 = _g().getCellValue("C2", null); 

var c2_len = C2.length; 

var D1 = _g().getCellValue("D1", null);

 var D2 = _g().getCellValue("D2", null); 

var d2_len = D2.length;

var E1 = _g().getCellValue("E1", null); 

var E2 = _g().getCellValue("E2", null); 

var e2_len = E2.length; 

var F1 = _g().getCellValue("F1", null);

 var F2 = _g().getCellValue("F2", null);

 var f2_len = F2.length; 

var re_cont=''; 

//初始化弹窗信息

 if(a2_len==0){

//如果a2单元格为空,则将对应列标题加入弹窗信息 

re_cont = re_cont+'模板列:'+A1+'与Excel文件中不符;' 

alert(re_cont);

return false;

}; 

if(b2_len==0){ 

re_cont = re_cont+'模板列:'+B1+'与Excel文件中不符;' 

alert(re_cont);

return false;

};

if(c2_len==0){ 

re_cont = re_cont+'模板列:'+C1+'与Excel文件中不符;' 

alert(re_cont);

return false;

};

if(d2_len==0){ 

re_cont = re_cont+'模板列:'+D1+'与Excel文件中不符;' 

alert(re_cont);

return false;

}; 

if(e2_len==0){ 

re_cont = re_cont+'模板列:'+E1+'与Excel文件中不符;' 

alert(re_cont);

return false;

};

if(f2_len==0){ 

re_cont = re_cont+'模板列:'+F1+'与Excel文件中不符;'

alert(re_cont);

return false;

 }; 

最佳回答
0
snrtuemcLv8专家互助
发布于2023-6-1 13:25(编辑于 2023-6-1 14:13)

image.png

======================

var A1 = _g().getCellValue("A1", null);//获取A1的值 即帆软模板标题 

var A2 = _g().getCellValue("A2", null);//获取A2的值 

var a2_len = A2.length;// Excel导入之后的单元格内容 

var B1 = _g().getCellValue("B1", null); 

var B2 = _g().getCellValue("B2", null); 

var b2_len = B2.length; 

var C1 = _g().getCellValue("C1", null); 

var C2 = _g().getCellValue("C2", null); 

var c2_len = C2.length; 

var D1 = _g().getCellValue("D1", null); 

var D2 = _g().getCellValue("D2", null); 

var d2_len = D2.length; 

var E1 = _g().getCellValue("E1", null); 

var E2 = _g().getCellValue("E2", null); 

var e2_len = E2.length; 

var F1 = _g().getCellValue("F1", null); 

var F2 = _g().getCellValue("F2", null); 

var f2_len = F2.length; 

var re_cont=''; //初始化弹窗信息 

if(a2_len==0){

//如果a2单元格为空,则将对应列标题加入弹窗信息 

re_cont = re_cont+'模板列:'+A1+'与Excel文件中不符;' }; 

esle if(b2_len==0){ re_cont = re_cont+'模板列:'+B1+'与Excel文件中不符;' }; 

else if(c2_len==0){ re_cont = re_cont+'模板列:'+C1+'与Excel文件中不符;' };

else if(d2_len==0){ re_cont = re_cont+'模板列:'+D1+'与Excel文件中不符;' }; 

else if(e2_len==0){ re_cont = re_cont+'模板列:'+E1+'与Excel文件中不符;' }; 

else if(f2_len==0){ re_cont = re_cont+'模板列:'+F1+'与Excel文件中不符;' }; 

else{_g().verifyAndWriteReport();}

  • yzmxYDx35608993 yzmxYDx35608993(提问者) 试了下不行,没能阻止提交入库
    2023-06-01 13:43 
  • snrtuemc snrtuemc 回复 yzmxYDx35608993(提问者) 好像上面也有if判断,你的整个js语句怎么样的?
    2023-06-01 13:44 
  • yzmxYDx35608993 yzmxYDx35608993(提问者) 回复 snrtuemc 大概这个样子,就最下面改成图片里面哪种 var A1 = _g().getCellValue(\"A1\", null);//获取A1的值 即帆软模板标题 var A2 = _g().getCellValue(\"A2\", null);//获取A2的值 var a2_len = A2.length;// Excel导入之后的单元格内容 var B1 = _g().getCellValue(\"B1\", null); var B2 = _g().getCellValue(\"B2\", null); var b2_len = B2.length; var C1 = _g().getCellValue(\"C1\", null); var C2 = _g().getCellValue(\"C2\", null); var c2_len = C2.length; var D1 = _g().getCellValue(\"D1\", null); var D2 = _g().getCellValue(\"D2\", null); var d2_len = D2.length; var E1 = _g().getCellValue(\"E1\", null); var E2 = _g().getCellValue(\"E2\", null); var e2_len = E2.length; var F1 = _g().getCellValue(\"F1\", null); var F2 = _g().getCellValue(\"F2\", null); var f2_len = F2.length; var re_cont=\'\'; //初始化弹窗信息 if(a2_len==0){//如果a2单元格为空,则将对应列标题加入弹窗信息 re_cont = re_cont+\'模板列:\'+A1+\'与Excel文件中不符;\' }; if(b2_len==0){ re_cont = re_cont+\'模板列:\'+B1+\'与Excel文件中不符;\' }; if(c2_len==0){ re_cont = re_cont+\'模板列:\'+C1+\'与Excel文件中不符;\' }; if(d2_len==0){ re_cont = re_cont+\'模板列:\'+D1+\'与Excel文件中不符;\' }; if(e2_len==0){ re_cont = re_cont+\'模板列:\'+E1+\'与Excel文件中不符;\' }; if(f2_len==0){ re_cont = re_cont+\'模板列:\'+F1+\'与Excel文件中不符;\' }; alert(re_cont);
    2023-06-01 13:51 
  • snrtuemc snrtuemc 回复 yzmxYDx35608993(提问者) 你每个有提示的if判断中,都要加 return false;
    2023-06-01 13:53 
  • yzmxYDx35608993 yzmxYDx35608993(提问者) 回复 snrtuemc 可是我加了后,这个弹窗提示都没了,我更新图片你看下
    2023-06-01 13:57 
  • 2关注人数
  • 465浏览人数
  • 最后回答于:2023-6-1 14:53
    请选择关闭问题的原因
    确定 取消
    返回顶部