Ecto:两个独特的领域
Ecto: Two unique fields
我在同一个 table 中的字段上创建了两个唯一索引,并想使用 unique_constraint/3 验证它们,但是,前端的错误消息只针对任一字段显示,如果它们不是唯一的,则不是两者。如果两个字段都不是唯一的,我怎样才能让这两个错误都显示出来?
您可以使用 Changeset.unsafe_validate_unique/4 查找所有独特的验证错误并将它们报告给用户。 unique_constraint
还必须用于处理插入新记录之前数据更改的潜在竞争条件。
changeset
|> unsafe_validate_unique([:email], MyApp.Repo, message: "email is already in use")
|> unsafe_validate_unique([:phone], MyApp.Repo, message: "phone number is already registered")
|> unique_constraint(:email)
|> unique_constraint(:phone)
我在同一个 table 中的字段上创建了两个唯一索引,并想使用 unique_constraint/3 验证它们,但是,前端的错误消息只针对任一字段显示,如果它们不是唯一的,则不是两者。如果两个字段都不是唯一的,我怎样才能让这两个错误都显示出来?
您可以使用 Changeset.unsafe_validate_unique/4 查找所有独特的验证错误并将它们报告给用户。 unique_constraint
还必须用于处理插入新记录之前数据更改的潜在竞争条件。
changeset
|> unsafe_validate_unique([:email], MyApp.Repo, message: "email is already in use")
|> unsafe_validate_unique([:phone], MyApp.Repo, message: "phone number is already registered")
|> unique_constraint(:email)
|> unique_constraint(:phone)