如何调用这个scala方法?

时间:2014-06-05 09:22:17

标签: scala playframework-2.0

我遇到了以下方法here

 implicit def toLazyOr[T](cons: Constraint[T]) = new {
  def or(other: Constraint[T]) = Constraint { field: T =>
    cons(field) match {
      case Valid => other(field)
      case Invalid => Invalid
    }
  }
}

我定义了toLazyOr方法,然后我尝试在我的代码中使用它。但是,我不知道如何使用它。 我试过了:

 val adminForm = Form(
mapping(
  "email" -> (email verifying toLazyOr(nonEmpty, minLength(4)) ) 
  )

并且:

val adminForm = Form(
    mapping(
      "email" -> (email verifying toLazyOr(nonEmpty or minLength(4)) ) 
      )

两者都不起作用,目前我的scala知识非常基础。 请帮忙。

1 个答案:

答案 0 :(得分:3)

不太了解游戏:

如果隐式转换在范围内,则以下内容应该有效:

val adminForm = Form(
  mapping(
    "email" -> (email verifying (nonEmpty or minLength(4)))
  ))

隐式转换就是这样:你不必明确地调用它们。有关编译器查找含义的详细信息,请参阅this answer