只是一个表单字段
问题描述:
有了这个形式Playframework默认值:只是一个表单字段
case class DatabaseServerForAdd(name: String, address: String, port: Int, autoCheck: Boolean, serverIdentityId: Int)
object DatabaseServerForAdd {
val databaseServerForAddForm = Form(
mapping(
"name" -> nonEmptyText(minLength = 2),
"address" -> nonEmptyText,
"port" -> number,
"autoCheck" -> boolean,
"serverIdentityId" -> number
)(DatabaseServerForAdd.apply)(DatabaseServerForAdd.unapply)
)
}
我只想领域autoCheck
拥有的true
默认值,但我不能找到一种方法。
处理默认值的唯一方法是使用fill
方法,但我必须提供一个完整的对象,而且我不想在其他字段中使用默认值,我知道这些字符串可能是空的,但我确实不想在port
和serverIdentityId
中有0。
另外,文档中使用的default
只适用于表单提交时,不适用于创建时。
答
好吧,似乎回应是,可悲的是,没有办法,你可以使用像我之前说的fill
方法,但有一个完整的对象。
建议做的事情似乎是创建一个自定义对象,在那里你可以安全地把所有非必需的字段作为选项,所以在填充只有你想要的propierty会被收获。
所有没有的选项字段将被设置为空字段(例如,Int为0)。
编辑
Playframework 2.6在默认形式https://www.playframework.com/documentation/2.6.x/ScalaForms#default-values