【问题标题】:Ecto: Two unique fieldsEcto:两个独特的领域
【发布时间】:2017-11-23 19:09:14
【问题描述】:

我在同一个表中的字段上创建了两个唯一索引,并希望使用 unique_constraint/3 来验证它们,但是,前端的错误消息只显示任一字段,如果它们不是唯一的,则不会同时显示.如果两个字段都不是唯一的,我怎样才能显示这两个错误?

【问题讨论】:

标签: elixir phoenix-framework ecto


【解决方案1】:

您可以使用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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-18
    • 1970-01-01
    • 2014-03-25
    • 1970-01-01
    • 1970-01-01
    • 2013-02-10
    • 2010-09-06
    相关资源
    最近更新 更多