gpt4 book ai didi

elixir - 转换和验证 Ecto 自定义类型

转载 作者:行者123 更新时间:2023-12-04 03:12:18 24 4
gpt4 key购买 nike

我正在编写自定义 Ecto.Type用于颜色(序列化并解析为 CSS 颜色)。

该行为指定 cast/1回调应该返回 :error 除非成功。它不允许返回错误原因,并且在与变更集一起使用时会生成通用的“无效”错误描述。

在无效(不可转换)输入的变更集中允许更好的错误消息的最佳方法是什么?我想创建一个用于变更集的 validate_color 函数,但如果转换失败,该字段将已经出现一般错误。

最佳答案

从 Ecto v3.0.0 开始这是可能的:

When returning {:error, keyword()}, the returned keyword list will be preserved in the changeset errors, similar to Changeset.add_error/4. Passing a :message key, will override the default message.

link to docs

关于elixir - 转换和验证 Ecto 自定义类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44084398/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com