如何仅在创建对象时应用 Play 2 唯一性验证?我可以添加自定义 verifying
子句,但在编辑(而不是创建)现有对象时会失败。
最佳答案
如果您没有对版本和创建执行相同的验证检查,则可能意味着您不应该使用相同的 Form
双方都反对?实际上,只有少数特定情况下使用相同的 Form
才有意义。用于在现实世界程序中创建和编辑的对象。
另一方面,如果你不想复制一些对创建和编辑通用的验证逻辑,你可以在你的两个 Form
中重用一个映射片段。对象:
val commonMapping = "common" -> tuple(
"foo" -> number,
"bar" -> nonEmptyText
)
val creationForm = Form(tuple(
commonMapping,
"baz" -> date
) verifying (/* creation specific constraint */))
val editionForm = Form(tuple(
commonMapping,
"bah" -> boolean
))
关于validation - 如何仅在创建对象时应用 Play 2 唯一性验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13714673/