自定义校验函数实现灵活的填报校验



在一些统计填报表中,常常会有这样一类校验规则,例如某一列数值的和不能超过一个固定的值。在这类校验中,已经不单纯是对数据的合法性进行校验了,还需要加入一些自动计算的逻辑,本文就通过自定义校验函数来实现这类校验功能。

第一步:设计一个报表模版

其中,B2和B3还有B4单元格为可写单元格,默认初始值分别为20,20,60,数据类型为数值型

在填报属性-校验表达式中写入自定义一个校验函数名字,例如check():

第二步:在展现报表的jsp中编写自定义校验函数:

假设校验规则为:比例之和不能超过100,那么校验函数为:

<script language=”javascript”>
function check(){
var datarows = document.getElementById( “report1″ ).getElementsByTagName(”tr”).length;//取得报表的记录行数
var sumValue = 0;//初始化累加值
for(var i =2;i<=datarows;i++){//由于第一行是报表头,所以从第二行开始循环取得单元格的值
var value = document.getElementById( “report1_B”+i).value//通过单元格的id来获取单元格值
sumValue = parseFloat(sumValue)+parseFloat(value);//进行数值累加
}
if(sumValue>100){//进行累加判断
alert(”比例已经超过100!请检查!”);//如果超过预设值,那么弹出对话框进行提示
}
return true;
}
</script>

这样就可以通过校验函数,对填入的数值进行累加校验了。

利用校验里的自定义函数不但可以对数据进行校验,还可以在函数中加入业务逻辑代码,通过单元格失去焦点后的调用,配合报表来完成丰富多样的功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值