Я пытаюсь создать простое поле времени в своем приложении Java Play Framework. Я подготовил класс:
public class Schedule extends AbstractEntity {
@Temporal(TemporalType.TIME)
public Date arrival;
@Temporal(TemporalType.TIME)
public Date departure;
@Enumerated(EnumType.STRING)
public Variant variant;
}
Я пытаюсь получить время отправления и прибытия с помощью этого шаблона:
<div class="modal-body">
@helper.form(action = routes.TripTimesController.addSchedule(trip)) {
@helper.inputText(scheduleForm("arrival"), '_label -> "Arrival", '_type ->"time")
@helper.inputText(scheduleForm("departure"), '_label -> "Destination", '_type ->"time" )
<select name="variant">
@for(variant <- Variant.values()){
<option value="@variant.name()">@variant.name()</option>
}
</select>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="submit" class="btn btn-primary">Save changes</button>
</div>
}
Что бы я ни печатал, я не могу пройти валидацию и всегда получаю информацию о том, что в форме есть ошибки:
Form<Schedule> form = Form.form(Schedule.class).bindFromRequest();
if(form.hasErrors()) {
...
}
Каков правильный формат времени в Play? Есть ли какой-нибудь помощник времени, который может быть полезен для принудительного правильного форматирования?
Date
и по умолчанию воспроизводит типы дат маршалов сyyyy-MM-dd
. Пробовали ли вы добавить @Formats.DateTime с соответствующим выражение SimpleDateFormat? 29.04.2015