我遇到了以下方法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知识非常基础。 请帮忙。
答案 0 :(得分:3)
不太了解游戏:
如果隐式转换在范围内,则以下内容应该有效:
val adminForm = Form(
mapping(
"email" -> (email verifying (nonEmpty or minLength(4)))
))
隐式转换就是这样:你不必明确地调用它们。有关编译器查找含义的详细信息,请参阅this answer。