繁体   English   中英

铸造和验证 Ecto 自定义类型

[英]Casting and validating Ecto custom type

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

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

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

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

返回{:error, keyword()} ,返回的关键字列表将保留在变更集错误中,类似于Changeset.add_error/4 传递:message键,将覆盖默认消息。

链接到文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM