I have a requirement to prevent the user from selecting date which is greater than current date. I tried to enforce it by setting setEndDate(new Date()) but it didn't work.
DateItem dateItem = new DateItem();
dateItem.setTitle("Date");
dateItem.setName("dateValue");
dateItem.setUseTextField(true);
TextItem textItem = new TextItem();
textItem.setAttribute("readOnly", true);
dateItem.setAttribute("textFieldProperties", textItem);
dateItem.setDisabled(true);
dateItem.setRequiredMessage("Please select a valid Date");
dateItem.setEndDate(new Date());
Even now I am able to select dates 19/5/2011, 20/5/2011 and so on.
Well according to the documentation, dateItem.setStartDate()
or dateItem.setEndDate()
does not prevent the user to select an invalid date. You may read it from here.
Hope this helps you.