if (value.length() < 1) { // if it's blank and textfield didn't flag it then
// it's valid
return true;
}
DateTimeFormat format = getPropertyEditor().getFormat();
Date date = null;
try {
date = getPropertyEditor().convertStringValue(value);
} catch (Exception e) {
}
if (date == null) {
String error = null;
if (getMessages().getInvalidText() != null) {
error = Format.substitute(getMessages().getInvalidText(), value, format.getPattern().toUpperCase());
} else {
error = GXT.MESSAGES.dateField_invalidText(value, format.getPattern().toUpperCase());
}
markInvalid(error);
return false;
}
if (minValue != null && date.before(minValue)) {
String error = null;
if (getMessages().getMinText() != null) {
error = Format.substitute(getMessages().getMinText(), format.format(minValue));
} else {
error = GXT.MESSAGES.dateField_minText(format.format(minValue));
}
markInvalid(error);
return false;
}
if (maxValue != null && date.after(maxValue)) {
String error = null;
if (getMessages().getMaxText() != null) {
error = Format.substitute(getMessages().getMaxText(), format.format(maxValue));
} else {
error = GXT.MESSAGES.dateField_maxText(format.format(maxValue));
}
markInvalid(error);
return false;
}