关于两个form中 Ext DateField 表单的验证


//判断两个日期差
Ext.apply(Ext.form.VTypes, {
daterange : function(val, field) {
var date = field.parseDate(val);

if(!date){
return;
}
if (field.startDateField && (!this.dateRangeMax || (date.getTime() != this.dateRangeMax.getTime()))) {
var start = Ext.getCmp(field.startDateField);
start.setMaxValue(date);//这两行调换一下位置
this.dateRangeMax = date;//这两行调换一下位置
start.validate();

}
else if (field.endDateField && (!this.dateRangeMin || (date.getTime() != this.dateRangeMin.getTime()))) {
var end = Ext.getCmp(field.endDateField);
end.setMinValue(date); //这两行调换一下位置
this.dateRangeMin = date; //这两行调换一下位置
end.validate();

}
/*
* Always return true since we're only using this vtype to set the
* min/max allowed values (these are tested for after the vtype test)
*/
return true;
}
});



经过 longlong 的帮助 好像搞懂了 原因是出在

两个form可能拿到的是同一个Ext.form.VTypes的实例的引用 估计这地方有问题 在两个form进行时间验证时 dateRangMin或dateRangeMax是否改变的是同一份地址的值呢?这个需要再深入的看一下呵呵 如果在validate之前将dateRangeMin或Max设为当前form的feild的最小或最大日期 再去validate 我按照这个思路去调整 结果可以了 但是不是这个原因 还需要看看源码 求证一下了 你也可以看看
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值