时间段重复校验-js
来源:互联网 发布:s7总决赛现场数据 编辑:程序博客网 时间:2024/04/30 09:20
今天项目有一个需求,就是校验用户保存的时间段,不能与已有的时间段交叉重复,一开始觉得很复杂。后面冷静下来发现其实很简单。用反向思维。
1、获取用户要保存的开始时间和结束时间
2、获取已有的时间段数据
3、遍历时间段数据,分别与用户保存的开始时间和结束时间对比。
对比方案:
①:开始时间和结束时间不能与已有的时间段有交集
②:开始时间和结束时间不能把已有的时间段包含在内。
有了思路,代码就简单了。
/*验证生效时间段是否重复*/ function vaildEffectDateArray(formObj){ var effectDate=formObj.findField("effectDate").getValue(); var loseEffectDate=formObj.findField("loseEffectDate").getValue(); if(effectDateArray.length>0){ for(var i=0;i<effectDateArray.length;i++){ var tmp=effectDateArray[i]; var startDate=tmp.startDate; var endDate=tmp.endDate; if(typeof startDate =='undefined' || typeof endDate == 'undefined') continue; if((effectDate>=startDate&&effectDate<=endDate)||(loseEffectDate>=startDate&&loseEffectDate<=endDate)){ //生效时间和失效时间与已有的时间段有交集 return false; } if(effectDate<=startDate&&loseEffectDate>=endDate){ //生效时间和失效时间把已有的时间段包含在内 return false; } } } return true; }
阅读全文
0 0
- 时间段重复校验-js
- js 判断多组时间段是否交叉重复
- web页面js校验某一属性是否重复的探索
- JS中校验数组中是否有重复字符
- js密码、重复输入密码、密码强度校验
- JS选择时间段
- js时间段范围查询
- js判断时间段
- JS 校验
- js校验
- js校验
- js 校验
- js校验
- JS校验
- js校验
- js 校验
- Ajax校验是否重复
- sql语句 时间段 内 重复 语句
- 【荐】Angular 最佳实践
- Python获取帮助详解
- C++ 零碎知识点集锦 一
- keepalive+nginx负载均衡
- WrapPanel
- 时间段重复校验-js
- Retrofit源码分析 (四. Retrofit 官网说明,Copy)
- Mysql时区问题
- 一直没搞清楚的数组sort方法传入一个function是怎么运行的
- 三、解决Springboot集成ActivitiModel提示输入密码的问题
- Gym
- Tomcat集群配置学习篇(MARK)
- javaweb基础之--Servlet
- EasyNVR H5无插件摄像机直播解决方案前端解析之:videojs初始化的一些样式处理