如何验证 Ecto 中是否存在关联模型?
schema "foo" do
has_many: bar, Bar
timestamps
end
@required_fields ~w(bar) # invalid
有办法这样做吗?并验证这些字段的最小/最大数量?
还什么都没有啊但是您可以在您的系统中自行运行这些验证changeset
功能:
def changeset(model, params) do
model
|> cast(...)
|> validate_bar_association()
end
def validate_bar_association(changeset) do
bar = changeset.model.bar
cond do
bar == nil ->
add_error changeset, :bar, "No bar"
length(bar) < 5 ->
changeset
true ->
add_error changeset, :bar, "waaaay too many"
end
end
我们确实希望使嵌套关联变得更好,但我们的优先级列表中还有其他项目。 :)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)