自定义有效性验证函数
自定义有效性验证函数
自定义有效性验证函数可以把所有的合法性检查统一写进验证函数中,由验证函数统一处理,包括给出错误提示信息,这样就不用在单元格里逐个编辑合法性检查属性了。此外自定义有效性验证函数可以使有效性验证处理更加灵活,例如可以把所有错误一起检查一起提示等,而不像定义合法性检查属性那样,逐个检查逐个提示,很麻烦。
填报报表支持用户在JSP文件中编写自定义的javascript数据有效性验证函数,除以上方式外,报表系统提供一个名为“tag中的name_userDefineValidScript()”的默认函数,当所有数据都满足要求时,此函数返回true,否则返回false,这个函数必须由用户实现。对报表中单元格(html的table的cell)的引用格式为“报表id_单元格名”,其中单元格名必须大写,如“report1_D7”。
举例说明如下:
(1)单表填报:<report:html name=myReport reportFileName="…" …… />,此时自定义函数名为myReport_userDefineValidScript(),对单元格引用方式为“myReport_A1”。例如要求5.1报表中的姓氏不为空,名字不为空,用自定义有效性验证函数来完成验证工作代码如下:
<script language="javascript">function report1_userDefineValidScript(){ if(!document.getElementById("report1_C4 ").value) {alert(‘Employee’s surname is null,Please input EmployeeID’s surname’);return false; }else if(!document.getElementById("report1_E4 ").value){alert(‘Employee’s name is null,Please input Employee’s name’);return false;}return true;}</script>
保存为5.2.3.jsp。
(2)多表填报:<report:sheets name=mySheets sheets="a.raq,sheet1;b.raq,sheet2"…/>,此时自定义函数名为mySheets_userDefineValidScript(),对单元格引用方式为“sheet1_A1”、“sheet2_B1”等。
注意:此功能只能在普通填报表和多表填报表中使用,在行式填报表中不支持