首页 > 解决方案 > 如果字段缺失,validate_required 不会将变更集设置为无效

问题描述

我有一个由凤凰应用程序中的更新(PUT)方法调用的变更集。该validate_required功能没有按我的预期工作。如果在 PUT 请求中未发送任何值,则变更集仍被标记为有效。如果我检查changeset.changes我会得到值%{}

def rsvp_changeset(guest, attrs) do
  guest
  |> cast(attrs, [:attending, :comment, :some_optional_value])
  |> validate_required(:attending, message: "Please state if attending")
  |> validate_required(:comment, message: "Please enter comment")
end

我对什么validate_required是错误的理解是错误的,如果是这样,我如何确保请求包含我想要更改的字段的值?

标签: elixirphoenix-frameworkecto

解决方案


推荐阅读