Skip to content

Instantly share code, notes, and snippets.

@noelworden
Created July 17, 2020 23:45
#blog_snippets
defp mathematical_validation(changeset) do
revenue = get_field(changeset, :revenue)
expense = get_field(changeset, :expense)
net_gain = get_field(changeset, :net_gain)
with true <- revenue != nil,
true <- expense != nil,
true <- net_gain != nil,
true <- Decimal.sub(revenue, expense) == Decimal.new(net_gain) do
changeset
else
_ -> add_error(changeset, :net_gain, "must equal revenue minus expense")
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment