From da025dedfa33e9069d812b8322ecf9ae4e0ede65 Mon Sep 17 00:00:00 2001 From: Alex Tavarez Date: Fri, 25 Jul 2025 11:21:41 -0400 Subject: [PATCH] Created a module for custom Ecto changeset validator functions --- lib/sukaato/custom_validators.ex | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 lib/sukaato/custom_validators.ex diff --git a/lib/sukaato/custom_validators.ex b/lib/sukaato/custom_validators.ex new file mode 100644 index 0000000..311003c --- /dev/null +++ b/lib/sukaato/custom_validators.ex @@ -0,0 +1,15 @@ +defmodule Sukaato.CustomValidators do + import Ecto.Changeset + import Validate, only: [validate: 2] + + 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