2017-08-12 101 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

相關問題