Goal is a parameter validation library based on Ecto.
It can be used with JSON APIs, HTML controllers and LiveViews.
Goal builds a changeset from a validation schema and controller or LiveView parameters, and returns the validated parameters or Ecto.Changeset, depending on the function you use.
If your frontend and backend use different parameter cases, you can recase parameter keys with the :recase_keys option. PascalCase, camelCase, kebab-case and snake_case are supported.
You can configure your own regexes for password, email, and URL format validations. This is helpful in case of backward compatibility, where Goal's defaults might not match your production system's behavior.
Goal ⚽ alternatives and similar packages
Based on the "Validations" category.
Alternatively, view goal alternatives based on common mentions on social networks and blogs.
Do you think we are missing an alternative of Goal ⚽ or a related project?