UrlValidator (url_validator v0.1.0)

Copy Markdown View Source

Documentation for UrlValidator.

Summary

Functions

Validates that a field contains an HTTP or HTTPS URL.

Functions

validate_url(changeset, field, opts \\ [])

Validates that a field contains an HTTP or HTTPS URL.

The error message can be customized with the :message option.

Examples

iex> changeset = Ecto.Changeset.cast({%{}, %{url: :string}}, %{url: "https://example.com"}, [:url])
iex> UrlValidator.validate_url(changeset, :url).valid?
true

iex> changeset = Ecto.Changeset.cast({%{}, %{url: :string}}, %{url: "not_a_url"}, [:url])
iex> UrlValidator.validate_url(changeset, :url, message: "is invalid url").errors
[url: {"is invalid url", []}]

iex> changeset = Ecto.Changeset.cast({%{}, %{url: :string}}, %{url: "not_a_url"}, [:url])
iex> UrlValidator.validate_url(changeset, :url).errors
[url: {"Invalid URL", []}]

iex> changeset = Ecto.Changeset.cast({%{}, %{url: :string}}, %{url: ""}, [:url])
iex> UrlValidator.validate_url(changeset, :url, optional: true).errors
[]

iex> changeset = Ecto.Changeset.cast({%{}, %{url: :string}}, %{url: ""}, [:url])
iex> UrlValidator.validate_url(changeset, :url).errors
[{:url, {"can't be blank", [validation: :required]}}]