如何在extjs 3.4中选择之前验证datefield

时间:2014-02-28 12:49:59

标签: date extjs

我正在使用extjs 3.4在门户中添加添加日期字段以选择日期范围。开始日期和结束日期意味着如果我在开始日期选择2014年1月28日,那么我想验证结束日期在2014年1月28日之后显示在30仅限天数。

我还想在30天内验证开始日期和结束之间的差异

 {
id:'funnelStartId',
xtype: 'datefield',
format : 'd-M-Y',
editable:false,
emptyText:'Start date',
listeners:{
select: function (value,date){
getFunnelDateRange()    
}
}
},{
id:'funnelEndId',
`enter code here`  xtype: 'datefield',
format : 'd-M-Y',
editable:false,
emptyText:'End date',
listeners:{
select: function (value,date){
getFunnelDateRange()    
}
}
}

1 个答案:

答案 0 :(得分:1)

我认为您可以通过在datefield上设置select的最小值和最大值来获得与您描述的行为类似的行为:

var dateValidate = function() {
        var dateFld1 = Ext.getCmp('funnelStartId');
        var dateFld2 = Ext.getCmp('funnelEndId');
        startValue = dateFld1.getValue();
        endValue = dateFld2.getValue();
        maxEndValue = startValue.add(Date.DAY, 30);
        if (endValue < startValue || endValue > maxEndValue) {
            dateFld2.setValue(null);
        }
        dateFld2.setMinValue(startValue);
        dateFld2.setMaxValue(maxEndValue);
    }

我有一个创建的fiddle演示。