在我的模型中,所有关联的帐户都是Long而不是正常的整数.但是,在新Play中处理
Scala表单时! 2.0我只能在表单中验证Int号而不是Long.
http://www.playframework.org/documentation/2.0/ScalaForms
采取以下形式:
val clientForm: Form[Client] = Form( mapping( "id" -> number,"name" -> text(minLength = 4),"email" -> optional(text),"phone" -> optional(text),"address" -> text(minLength = 4),"city" -> text(minLength = 2),"province" -> text(minLength = 2),"account_id" -> number ) (Client.apply)(Client.unapply) )
你在哪里看到account_id我想申请一个Long,那么我怎样才能以最简单的方式投射呢? Client.apply语法因其简单性而非常棒,但我对像map这样的选项持开放态度.谢谢!
解决方法
找到了一个非常棒的方法来执行此操作看起来像我在问题中链接的文档中缺少.
首先,拉进Play!格式:
import play.api.data.format.Formats._
然后在定义Form映射时使用[]语法
然后新的表单val将如下所示:
val clientForm = Form( mapping( "id" -> of[Long],"account_id" -> of[Long] )(Client.apply)(Client.unapply) )
更新:使用optional()
经过进一步的实验,我发现你可以将[]和Play混合使用!可选,以满足您的类中定义的可选变量.
所以假设上面的account_id是可选的……
"account_id" -> optional(of[Long])