I have custom validation validate_required_inclusion
and I want to use it for different contexts. Where can I store such validations?
lib/my_project/commentary/comment.ex
def changeset(%Comment{} = comment, attrs) do
comment
...
|> validate_required_inclusion([:body, :sticker_id])
end
def validate_required_inclusion(changeset, fields) do
case Enum.any?(fields, fn field -> get_change(changeset, field) end) do
true ->
changeset
false ->
add_error(changeset, hd(fields), "One of these fields must be present: #{inspect(fields)}")
end
end