2017-08-12 64 views
0

有了这个形式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方法,但我必须提供一个完整的对象,而且我不想在其他字段中使用默认值,我知道这些字符串可能是空的,但我确实不想在portserverIdentityId中有0。

另外,文档中使用的default只适用于表单提交时,不适用于创建时。

回答

0

好吧,似乎回应是,可悲的是,没有办法,你可以使用像我之前说的fill方法,但有一个完整的对象。

建议做的事情似乎是创建一个自定义对象,在那里你可以安全地把所有非必需的字段作为选项,所以在填充只有你想要的propierty会被收获。

所有没有的选项字段将被设置为空字段(例如,Int为0)。

编辑

Playframework 2.6在默认形式https://www.playframework.com/documentation/2.6.x/ScalaForms#default-values

相关问题