日期校验

image.png

image.png

结束时间加了校验,但是如果开始和结束时间填好之后,再修改开始时间,这个校验就会失效,怎么才能实现开始时间和结束时间不超过一个小时

FineReport yzm136176 发布于 2023-11-16 10:37
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
快乐星光Lv5中级互助
发布于2023-11-16 10:45

楼上是在提交时校验,如果想填报时校验,那你在开始日期控件上也写一个js校验就可以了,和你的结束控件的js是一样的逻辑就行

最佳回答
0
kalashangLv3高级互助
发布于2023-11-16 10:39

image.png

最佳回答
0
IceBall09Lv6中级互助
发布于2023-11-16 15:22

我这边有一个可以给你修改参考:

起始时间DATA_DATE,编辑后js

var end = this.options.form.getWidgetByName("DATA_DATE_2").getValue();  

var start = this.getValue(); 

var s = start.substr(0,4);

var e = end.substr(0,4);

if( end == "" || end==null){  //判断开始日期是否为空

  alert("错误,结束时间不能为空");   //开始日期参数为空时提示

  return false;  

};  

if(start == "" || start==null){  //判断结束日期是否为空

  alert("错误,开始时间不能为空");   //结束日期参数为空时提示

  return false;  

};  

if( start > end){   //判断开始日期是否大于结束日期

  alert("错误,开始时间不能大于结束时间");   //开始日期大于结束日期时提示  

  this.setValue(""); 

  return false;  

};

if( s!=e){   //判断开始日期\结束日期是否同年

  alert("错误,请勿跨年筛选日期");   //开始日期大于结束日期时提示  

  this.setValue(""); 

  return false;  

}

结束时间DATA_DATE_2,编辑后js:

var start = this.options.form.getWidgetByName("DATA_DATE").getValue();  

var end = this.getValue(); 

var s = start.substr(0,4);

var e = end.substr(0,4);

if( start == "" || start==null){  //判断开始日期是否为空

  alert("错误,开始时间不能为空");   //开始日期参数为空时提示

  return false;  

};  

if(end == "" || end==null){  //判断结束日期是否为空

  alert("错误,结束时间不能为空");   //结束日期参数为空时提示

  return false;  

};  

if( start > end){   //判断开始日期是否大于结束日期

  alert("错误,开始时间不能大于结束时间");   //开始日期大于结束日期时提示 

  this.setValue(""); 

  return false;  

}

if( s!=e){   //判断开始日期\结束日期是否同年

  alert("错误,请勿跨年筛选日期");   //开始日期大于结束日期时提示  

  this.setValue(""); 

  return false;  

}

  • 3关注人数
  • 246浏览人数
  • 最后回答于:2023-11-16 15:22
    请选择关闭问题的原因
    确定 取消
    返回顶部