Нашел действительно потрясающий способ сделать это, который, похоже, отсутствует в документации, которую я привел в вопросе.
Сначала включите Play!форматы: import play.api.data.format.Formats._
Затем при определении отображения формы используйте of[]
синтаксис
, и тогда новая форма val будет выглядеть следующим образом:
val clientForm = Form(
mapping(
"id" -> of[Long],
"name" -> text(minLength = 4),
"address" -> text(minLength = 4),
"city" -> text(minLength = 2),
"province" -> text(minLength = 2),
"phone" -> optional(text),
"email" -> optional(text),
"account_id" -> of[Long]
)(Client.apply)(Client.unapply)
)
Обновление: использованиеНеобязательно ()
После дальнейших экспериментов я обнаружил, что вы можете смешивать of[]
с Play!optional
для соответствия необязательным переменным, определенным в вашем классе.
Итак, предположим, что account_id
выше является необязательным ...
"account_id" -> optional(of[Long])