Исключение выполнения с @inputDate при вызове метода form.get()

У меня есть ввод типа даты. Атрибут выглядит так:

@Formats.DateTime(pattern="dd/MM/yyyy")
public Date prazo;

в *.scala.html файл, я попробовал это:

@helper.input(pedidoForm("prazo"), '_label -> "Prazo", '_help -> "") { (id, name, value, args) => 
    <input type="date" name="@name" id="@id" maxlength="14" @toHtmlArgs(args)>
}

а также

@inputDate(pedidoForm("prazo"), '_label -> "Prazo", '_help -> "")

Он компилируется и, кажется, работает нормально, но в контроллере у меня есть что-то вроде:

Form<Pedido> pedidoForm = form(Pedido.class).bindFromRequest();
...
pedidoForm.get(); // throws execution exception

У кого-нибудь есть представление о том, что может происходить??

Спасибо за внимание.

1 ответ

Решение

Я думаю, что вы ввели неправильный формат для ввода даты.

Сформируйте то, что я попробовал. Если вы вошли 22/03/1989 в качестве значения ввода нет исключения времени выполнения. Но если вы вошли 22 03 1989Исключение произошло. Я думаю, что это потому, что вы определяете prazo поле как dd/MM/yyyy Формат даты.

Итак, давайте посмотрим снова. Если вы определите prazo поле как dd MM yyyy формат даты, и вы ввели значение 22 03 1989 в качестве значения ввода нет исключения времени выполнения. Кроме того, есть кое-что, что меня заинтересовало, если вы вошли 22/03/1989 также нет исключений времени выполнения. Но с датой, которую вы ввели ранее, она не может быть проанализирована правильно.

На данном этапе, я думаю, что рамки принимают значение как dd/MM/yyyy как Date объект. Но если вы хотите, чтобы другой формат даты отображался или вводился @Formats.DateTime(pattern="dd MM yyyy") аннотация должна быть использована.

Другие вопросы по тегам