Documentation for UrlValidator.
Summary
Functions
Validates that a field contains an HTTP or HTTPS URL.
Functions
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]}}]