Files
sukaato-site/lib/sukaato/custom_validators.ex

24 lines
649 B
Elixir

defmodule Sukaato.CustomValidators do
import Ecto.Changeset
import Validate
@moduledoc """
Provide a collecton of custom validation functions for Ecto database
database table update validation.
"""
@doc """
Validate a map or array/list column for an Ecto database table update.
"""
def validate_map_format(changeset, field, conventional_mapping) when is_atom(field) do
field_value = get_field(changeset, field)
validation_result = validate(field_value, conventional_mapping)
if elem(validation_result, 0) == :ok do
changeset
else
add_error(changeset, field, "is not a valid map")
end
end
end