如何检查字符串是否是有效的 UUID?

问题描述 投票:0回答:1

我正在使用 Phoenix 和 Ecto。在一个模型中,我有一个 UUID 字段。在某些情况下,我需要检查来自用户的字符串是否是正确的 UUID。怎么做?

我已经查看了 https://hexdocs.pm/ecto/Ecto.UUID.html 但根据描述,我没有找到一个合适的函数,似乎是我在我的案例中使用的函数。

怎么做?

elixir phoenix-framework uuid ecto
1个回答
0
投票

Ecto
本身会使用
dump/1
转换为本地 类型。

@Daniel 建议的

cast/1
几乎是您所需要的,但它也会接受raw UUID,正如我从任务描述中理解的那样,这不是预期的。

也就是说,

match?({:ok, _}, Ecto.UUID.dump(input))
是你的朋友。

© www.soinside.com 2019 - 2024. All rights reserved.