У меня следующая проблема: я хочу проверить DateField, чтобы он имел значение в диапазоне minValue / maxValue. (больше или равно, ниже или равно)
Проблема в том, что мне кажется, что фреймворк требует времени в миллисекундах.
Я пытался использовать пользовательский тип, такой как:
Ext.apply(Ext.form.VTypes,{
dates: function(val, field){
try{
if(this.disabled){
return true;
}
if(Ext.value(val,null,false)==null){
this.datesText = "This field is required.";
return this.allowBlank; //the text message won't be shown in case blank is allowed.
}
if(Ext.value(field.minValue,null,false)!=null){
if(Ext.util.Format.date(val,"Ymd")<Ext.util.Format.date(field.minValue,"Ymd")){
this.datesText = "The value is invalid.<br/>";
this.datesText = "it must be greater or equal than " + field.minValue;
return false;
}
}
if(Ext.value(field.maxValue,null,false)!=null){
if(Ext.util.Format.date(val,"Ymd")>Ext.util.Format.date(field.maxValue,"Ymd")){
this.datesText = "The value is invalid.<br/>";
this.datesText = "It must be lower or equal than " + field.maxValue;
return false;
}
}
return true;
}catch(e){
return false;
}
},
datesText: 'The value is invalid.', //error message
datesMask: / / //regexp to filter the characters allowed
});
По сути, он конвертирует значения в формат « Гм », а затем сравнивает значения в виде чисел.
Если я отлаживаю этот код, проверка проходит нормально, но по какой-то причине я все еще получаю сообщение об ошибке. Я считаю, что фреймворк пытается снова проверить поле после моей проверки.
Спасибо!
1018 * Sebastián *