我使用以下 jQuery 函数来格式化我的 datepicker
$(".datepicker").datepicker({
dateFormat : "MM yy"
}).attr('readonly', true);
选择后,我可以看到文本字段已正确设置为November 2013
. 在提交表单之前,我使用 Spring 验证来验证日期
public class LocalMonthEditor extends PropertyEditorSupport {
@Override
public void setAsText(final String text) throws IllegalArgumentException {
if (!StringUtils.hasText(text)) {
// Treat empty String as null value.
setValue(null);
} else {
LocalDateTime localDateTime = LocalDateTime.parse(text,
DateTimeFormat.forPattern("MMMM yyyy"));
setValue(localDateTime);
}
}
@Override
public void setValue(final Object value) {
super.setValue(value == null || value instanceof LocalDateTime ? value
: new LocalDateTime(value));
}
@Override
public LocalDateTime getValue() {
return (LocalDateTime) super.getValue();
}
@Override
public String getAsText() {
return getValue() != null ? getValue().toString() : "";
}
}
但是,在提交表单后,文本字段将更改为2013-11-01T00:00:00.000
. 我怎样才能维护该领域November 2013
?