NLdoc.Ecto.Validator.URI (NLdoc.Ecto v1.0.7)

View Source

Validator for URI's.

Example

defmodule User do
  use Ecto.Schema

  import NLdoc.Ecto.Validator.URI, only: [:validate_uri: 3]

  schema "users" do
    field :name, :string
    field :profile_url, :string
  end

  def changeset(user, params) do
    user
    |> Ecto.Changeset.cast(params, [:name, :profile_url])
    |> validate_uri(:profile_url, schemes: ["https"])
  end
end

Summary

Types

validate_url_opt()

@type validate_url_opt() :: {:schemes, [String.t()]}

Functions

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

@spec validate_uri(
  changeset :: Ecto.Changeset.t(),
  field :: atom(),
  opts :: [validate_url_opt()]
) :: Ecto.Changeset.t()