EXTJS自定义验证日期选择范围

来源:互联网 发布:好玩的rpg 知乎 编辑:程序博客网 时间:2024/04/19 12:15
方法一: 
//自定义VType类型,验证日期选择范围    Ext.apply(Ext.form.field.VTypes,{        //验证方法        dateRange:function(val,field){            var beginDate=null,//开始日期                beginDateCmp=null,//开始日期组件                endDate=null,//结束日期                endDateCmp=null,//结束日期组件                validStatus=true;//验证状态            if(field.dateRange){                //获取开始时间                if(!Ext.isEmpty(field.dateRange.begin)){                    beginDateCmp=Ext.getCmp(field.dateRange.begin);                    beginDate=beginDateCmp.getValue();                }                //获取结束时间                if(!Ext.isEmpty(field.dateRange.end)){                    endDateCmp=Ext.getCmp(field.dateRange.end);                    endDate=endDateCmp.getValue();                }            }            //如果看似是时间或结束时间有一个为空通过验证            if(!Ext.isEmpty(beginDate)&&!Ext.isEmpty(endDate)){                validStatus=beginDate<=endDate;            }            return validStatus;        },        //验证提示信息        dateRangeText:'开始时间不能大于结束时间'    });   //使用:         {                 id:'beginDate',                 fieldLabel:'入学开始日期',                 dateRange:{begin:'beginDate',end:'endDate'},//用于vtype类型dateRange                 vtype:'dateRange'             },{                 id:'endDate',                 fieldLabel:'入学结束日期',                 dateRange:{begin:'beginDate',end:'endDate'},//用于vtype类型dateRange                 vtype:'dateRange'            }    
方法二: //通过监听器设置datefield最大值最小值 listeners: {     'focus': function(e){          var endTime=Ext.getCmp('endTimeId').getValue();          if(endTime!=''){             this.setMaxValue(endTime.format('Y-m-d'));          }       }   }  
原创粉丝点击