在报表开发过程中,我们常常需要对查询界面进行日期校验。例如有两个参数:开始日期和结束日期,我们要校验的是:开始日期与结束日期不能为空,结束日期必须在开始日期之后以及结束日期必须在开始日期后的某个时间段内,否则提示相关信息,对此可以在查询按钮中增加事件。下面我们通过FineReport来介绍下具体的设置。
具体效果图如下:
可以看出会报出如下错误。
模板的设计工作这边就不重点讲了,设定好如下的模板界面:
给查询按钮增加点击事件,具体的JS代码如下:
var start = this.options.form.getWidgetByName("starttime").getValue(); var end = this.options.form.getWidgetByName("endtime").getValue(); if( start == "" || start==null){ //判断开始日期是否为空 alert("错误,开始时间不能为空"); //开始日期参数为空时提示 return false; }; if(end == "" || end==null){ //判断结束日期是否为空 alert("错误,结束时间不能为空"); //结束日期参数为空时提示 return false; }; if( start > end){ //判断开始日期是否大于结束日期 alert("错误,开始时间不能大于结束时间"); //开始日期大于结束日期时提示 return false; } var startdate = new Date(start); //将开始日期转化为Date型 var enddate = new Date(end); //将结束日期转化成Date型 var subdate = (enddate-startdate)/ (1000 *60 *60 *24); //将两个日期相减得出的毫秒数转化为天数 if(subdate>15){ //判断结束日期是否超过开始日期后15天 alert("错误,结束日期必须在开始日期15天之内"); //结束日期超过开始日期后的十五天时提示 return false; }
虽然在参数控件中也可以设置校验,但是参数控件要点击控件后才能进行校验,因此参数界面的不能为空以及比较校验需要在查询按钮中设置,所以倒不如全放在查询按钮中进行校验。
设置完查看模板,选择开始时间和结束时间,使这两个日期之间相差超过15天,就会弹出上述对话框。
因为FineReport的报表界面是在前段展示,我特地把各种浏览器试了个遍。刚刚上述的js代码在火狐,谷歌IE9等浏览器下没有问题,但是在IE8以及IE8以下的IE浏览器版本中,判断两个日期之间的差值的警告框则不会起作用。可以换用以下代码:
var start = this.options.form.getWidgetByName("starttime").getValue(); var end = this.options.form.getWidgetByName("endtime").getValue(); if( start == "" || start==null){ //判断开始日期是否为空 alert("错误,开始时间不能为空"); //开始日期参数为空时提示 return false; }; if(end == "" || end==null){ //判断结束日期是否为空 alert("错误,结束时间不能为空"); //结束日期参数为空时提示 return false; }; if( start > end){ //判断开始日期是否大于结束日期 alert("错误,开始时间不能大于结束时间"); //开始日期大于结束日期时提示 return false; } var aDate = start.split("-") var startdate = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]) //转换为MM-dd-yyyy格式 alert(startdate); var aDate = end.split("-") var enddate = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]) alert(enddate); var subdate= ((enddate - startdate) /1000/ 60/60/24) //把相差的毫秒数转换为天数 alert(subdate); if(subdate>15){ //判断结束日期是否超过开始日期后15天 alert("错误,结束日期必须在开始日期15天之内"); //结束日期超过开始日期后的十五天时提示 return false; }
相关推荐
### 报表开发框架整理 #### 一、Wabacus框架详解 ...而ExtJS则凭借其丰富的UI组件库和出色的性能表现成为了构建企业级Web应用的首选工具之一。根据项目的需求和特点,开发者可以选择最适合的技术栈来进行开发工作。
FineReport是一个专业的报表工具,特别是在移动端报表开发中表现出色。本文针对FineReport在移动端的JavaScript(JS)二次开发给出了一些示例和说明。以下详细知识点涵盖了移动端报表开发中如何利用FineReport的JS...
根据提供的文件信息,我们整理出以下关于报表开发工具FineReport移动端app js接口列表的详细知识点: ### FineReport移动端JS接口概览 #### FineReport移动端支持调用JS的位置 - web事件:包括分页、预览、填报...
【Java Web 学习曲线图】是一份详细指导新手学习Java Web开发的资源,涵盖了从基础到高级的各种技术。这份导图旨在帮助开发者明确自己的学习进度和技能水平,确保他们在学习过程中有清晰的方向。 首先,学习Java ...
C#中,可以使用林纳斯图(Linq)进行数据查询,DataTable或DataFrame类进行数据处理,以及报表工具如水晶报表(Crystal Reports)或Power BI生成可视化报告。 系统还可能包含其他功能,如成绩排名、问卷分享、邮件...
总的来说,SheetJS电子表格数据工具包是JavaScript开发中的一个强大工具,无论是处理简单的数据交换还是复杂的报表生成,都能提供高效、灵活的解决方案。对于需要在Web应用中集成电子表格功能的开发者来说,它是不可...
JEECG开发指南详细解读了JEECG智能开发平台的各个方面,该平台旨在通过代码生成器、在线开发工具以及半智能合并开发模式来提高开发效率。接下来将详细地介绍JEECG开发指南中的核心知识点。 1. 技术背景与平台介绍 ...
本文将深入探讨如何使用Java技术栈构建一个WEB版的仓库管理系统,涉及的知识点包括Java Web开发、网页设计以及仓库管理流程。 1. **Java Web开发**: - **Servlet与JSP**:作为Java Web应用的基础,Servlet用于...
JEECG(Java EE Code Generator)是一个基于代码生成器的智能开发平台,用于简化和加速Web应用和数据库应用的开发过程。JEECG Online Coding开发手册v3.6主要介绍了如何使用JEECG平台进行Online表单的开发和配置。 ...
《图书管理系统:Web开发与JSP实践》 图书管理系统是一个典型的Web应用程序,它为图书馆的日常运营提供了便捷的数字化管理工具。系统的核心功能包括借书、还书、图书查询、管理用户信息以及统计分析,旨在提升图书...
第1篇 开发工具及框架概述 第1章 开发前奏 1.1 java web应用概述 1.2 配置开发环境 1.3 基础技术简单简介 1.4 核心框架初步认识 1.5 小结 第2章 myedipse开发工具对各种框架的支持 2.1 ...
技术点二:UI快速开发库,针对WEB UI进行标准封装,页面统一采用UI标签实现功能:数据datagrid,表单校验,Popup,Tab等,实现JSP页面零JS,开发维护非常高效 技术点三:在线流程定义,采用开源Activiti流程引擎,实现...
- **Flex技术的应用**:Style Report报表软件采用了Flex技术,这是一种跨平台的开发框架,能够提供丰富的互联网应用体验。Flex技术使得Style Report具备了良好的通用性,能够平滑地运行在不同的操作系统和浏览器上,...
6. **报表生成**:生成各种成绩报表,如学期成绩表、班级排名、个人成绩分析等,可能需要用到图表库如Chart.js或Highcharts。 7. **通知与提醒**:当有新的成绩发布或重要事件时,系统能通过邮件、短信等方式通知...
本文将深入探讨如何使用现代化的Web开发框架SpringBoot和前端框架Vue.js来构建一个智慧草莓基地管理系统,旨在提升草莓种植的效率与质量,实现精细化管理。 SpringBoot是基于Spring框架的轻量级开发工具,它简化了...
5. **Eclipse或IntelliJ IDEA**:作为开发工具,提供集成开发环境,方便代码编写和调试。 二、系统功能模块 1. **物资管理**:包括物资信息录入、查询、修改和删除,支持按名称、类型等多种条件筛选。 2. **入库...
它包括业务库、数据提供者、测试用例结果校验、报表、UI Map和日志库等模块。WAF 2.0则进一步引入了Java和TestNG,提升了框架的灵活性和可扩展性。 在使用Selenium进行测试脚本编写时,可以利用Selenium IDE进行...
- **开发工具:**推荐使用Eclipse或IntelliJ IDEA等Java集成开发环境。 - **数据库:**支持MySQL、Oracle等多种数据库。 **技能要求:** - **基础技能:**熟悉Java编程语言、了解MVC设计模式、具备一定的前端开发...