9.5 填报校验

数据验证

数据验证是通过正则表达式的方式对单元格中填写的数据进行校验,在报表设计器中内置了Email、电话号码、整数等常用的校验表达式,如果不满足您的求,还可以自定义正则表达式校验。这里的正则表达式采用JavaScript定义格式,正则表达式的前后使用‘/’标记符,例如整数的正则表达式如下:

/^-?\d+$/

报表平衡校验

报表平衡校验是定义在报表上的全局属性,通过JSSheetCell公式来引用报表中的单元格,返回一个布尔值。因为公式并不是定义在单元格中,因此公式中不能使用相对偏移量,仅允许使用绝对偏移量。如下:

{JSSheetCell(‘Sheet_1’,’a5’)}+{JSSheetCell(‘Sheet_2’,’c7’)}>0

1

在报表属性中写入js方法,然后在平衡校验处调用,例子如下

1

判断日期控件中值在前后一周

function test(value){
    var a=new Date().getTime()-7*24*60*60*1000;
    var b=new Date().getTime()+7*24*60*60*1000;
    if(a>value||b<value){
        return false;
    }else{
        return true;
    }
}

1

1

单元格校验

  • 校验逻辑表达式
    填写当前单元格的校验逻辑
  • 验证提示:验证不通过给出的提示
  • 即时验证:选择填写后立即验证还是填报数据提交时验证

    校验逻辑表达式使用关键字value作为当前单元格的当前值,在表达式中不能使用报表公式,例如折扣单元格输入数字要在0和1的范围内,则表达式如下:

value<1 && value>0

【注意】value关键字全部为小写,单元格校验公式中不能通过使用{}符号嵌入报表公式。

19

验证效果

在填报过程中,难免会出现数据输入值不符合输入要求、以及格式不合法的情况。这种情况,可以通过数据验证功能来控制填报数据的合法性。验证分为以下三部分:

  • 平衡校验表达式
    平衡验证表达式是针对整张报表的,在点击填报按钮后,对报表进行平衡验证,当不符合平衡校验表达式时,页面上会提示相应的错误信息,如下图所示:

36

  • 单元格数据验证
    数据验证是针对单元格的,当输入的数据不符合数据验证表达式时,页面上会提示相应的错误信息,如下图所示:

37

  • 单元格校验逻辑表达式
    校验逻辑表达式也是针对单元格的,当输入的数据不符合校验逻辑表达式时,页面上会提示相应的错误信息,如下图所示:

38

【注意】

1.页面的格式化
页面上的值均以单元格格式属性页中定义的格式来显示。在页面上修改后的值也是如此。如:日历控件选择日期为:2012-12-12 12:00:00,该单元格定义的格式为:yyyy年MM月dd日,则修改后页面上显示日期为:2012年12月12日,而在回填入数据库时,回填的值依然是2012-12-12 12:00:00。如下图所示:

39

2.当在单元格中输入的数据不符合验证表达式时,可以通过放弃修改来返回到未修改的数据。

results matching ""

    No results matching ""

    results matching ""

      No results matching ""