У меня есть Uipanel, которая содержит элементы формы. При щелчке отправки форма проверяет все поля, и, если они все действительны, продолжают вставить значения поля в БД. Если DB возвращает исключение дублированного ключа, я показываю сообщение, сообщающее пользователю обновить поле (см. #20381582). < /P>
Появляется сообщение, и форма загружается должным образом по большей части, но проблема возникает, когда элемент календаря выбрасывает < /p>
java.lang.IllegalArgumentException: Cannot format given Object as a Date
< /code>
Если я отправлю форму, и формы обнаруживают ошибки во время проверки (связанного или не связанного с этим полем календаря), проблем нет, только после завершения проверки, и я добавляю, что это сообщение делает это исключение.Calendar input = new Calendar();
input.setPattern("MM/dd/yyy");
input.setId(inputId);
input.setStyleClass(inputId);
input.setShowOn("button");
input.setNavigator(true);
input.setValueBinding("value", vb);
if(defaultVal != null && !defaultVal.equals("")){
SimpleDateFormat dbFormat = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat displayFormat = new SimpleDateFormat("MM/dd/yyyy");
String defaultDate = displayFormat.format(dbFormat.parse(defaultVal));
Date date = new Date();
date = displayFormat.parse(defaultDate);
if(required != null && !required.equals("") && !required.equals(",") && mandatory.length > 1){
if(mandatory[1].equalsIgnoreCase("Y")){
input.setRequired(true);
input.setRequiredMessage("Please enter a "+inputLabel+".");
HtmlMessage message = new HtmlMessage();
message.setFor(inputId);
message.setStyleClass("errorMessage");
div.getChildren().add(input);
div.getChildren().add(message);
}else{
input.setRequired(false);
div.getChildren().add(input);
}
}else{
div.getChildren().add(input);
}
}
Подробнее здесь: https://stackoverflow.com/questions/204 ... ns-message