验证(“...”,{case(a,b)=> ..})无法编译

时间:2012-03-17 16:05:57

标签: forms validation playframework-2.0

从play2的doc:http://www.playframework.org/documentation/2.0/ScalaForms,有一个示例代码:

val loginForm = Form(
  tuple(
    "email" -> nonEmptyText,
    "password" -> text
  ) verifying("Invalid user name or password", { 
      case (e, p) => User.authenticate(e,p).isDefined 
  })
)

但是无法编译,错误信息是:

Multiple markers at this line
- missing parameter type for expanded function The argument types of an anonymous 
 function must be fully known. (SLS 8.5) Expected type was: ?

应该写成:

verifying("Invalid user name or password", params => params match { 
    case (e, p) => User.authenticate(e,p).isDefined 
}

我的游戏版本是最新的play2.1-SNAPSHOT(2012-03-18)。

该文档有问题,还是我错过了什么?

1 个答案:

答案 0 :(得分:2)

文档已过时/错误,您的第二个版本是正确的。您可以自己修复文档,这是一个维基。