JS实现日期控件校验

1、概述

内置参数查询界面当中可进行一些数据校验,例如有两个参数:开始日期和结束日期,下面我们要校验的是:开始日期与结束日期不能为空,结束日期必须在开始日期之后以及结束日期必须在开始日期后的某个时间段内,否则提示相关信息,对此可以在查询按钮中增加事件。下面介绍下具体的设置。

具体效果图如下:

具体错误见效果图报错警告。

JS实现日期控件校验_第1张图片

2、判断开始时间与结束时间是否为空

给查询按钮增加点击事件,具体的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;    
}

开始时间和结束时间不能为空,如果为空则返回相对应得错误提示。其中“starttime” 和 “endtime” 为时间控件得控制名,这个可以根据需要进行修改。

3、判断开始时间不能超过结束时间

var start = this.options.form.getWidgetByName("starttime").getValue();    
var end = this.options.form.getWidgetByName("endtime").getValue();    
    
if( start > end){   //判断开始日期是否大于结束日期  
  alert("错误,开始时间不能大于结束时间");   //开始日期大于结束日期时提示    
  return false;    
}  

同样,上面一步是对开始时间与结束时间得一个判断,此时可以把2和3放在一起,对控键参数进行判断。

4、判断查询时间与当前得时间进行比较判断

var startDate = this.options.form.getWidgetByName("startDate").getValue();
var date = new Date();
var year = date.getFullYear();
var month = date.getMonth() + 1;
var day = date.getDate();
if(month < 10){
	month = "0" + month;
	}
if(day < 10){
	day = "0" + day;
	}
var nowDate = year + "-" + month + "-" + day;	
if(startDate >= nowDate){
	FR.Msg.alert("提示","开始时间不能超过当前时间!");
	return false;
}

此时的参数只有一个查询时间!!!

可以通过对 var day = date.getDate() + 1 将当前时间往后推移一天(根据自己需要)

前面三步可官方文档参考:http://help.finereport.com/finereport8.0/#

你可能感兴趣的:(六)