需要检查数据库的 Play Framework Json 验证
Play Framework Json validation that needs to check database
我需要检查现有实体的发布字段是否唯一。我想使用验证器。我正在尝试这样做:
val slugUnique: Reads[String] =
Reads.StringReads.filter(ValidationError("not_unique"))(str =>
Entity.find(str).isEmpty
)
但我需要将当前实体的 id 传递给此方法以仅检查其他记录而不是当前记录。这可能吗?或者应该以其他方式完成?
你应该使用 def
使 slugUniqe 成为一个函数,然后它可以有一个参数。所以
def slugUnique(id: Long): Reads[String] =
Reads.StringReads.filter(ValidationError("not_unique"))(str =>
Entity.find(str).isEmpty
)
然后要从控制器调用它,您需要显式传递读取函数,类似这样
request.body.validate[String](slugUnique(id))
我需要检查现有实体的发布字段是否唯一。我想使用验证器。我正在尝试这样做:
val slugUnique: Reads[String] =
Reads.StringReads.filter(ValidationError("not_unique"))(str =>
Entity.find(str).isEmpty
)
但我需要将当前实体的 id 传递给此方法以仅检查其他记录而不是当前记录。这可能吗?或者应该以其他方式完成?
你应该使用 def
使 slugUniqe 成为一个函数,然后它可以有一个参数。所以
def slugUnique(id: Long): Reads[String] =
Reads.StringReads.filter(ValidationError("not_unique"))(str =>
Entity.find(str).isEmpty
)
然后要从控制器调用它,您需要显式传递读取函数,类似这样
request.body.validate[String](slugUnique(id))