Packages
zoi
0.18.3
0.18.6
0.18.5
0.18.4
0.18.3
0.18.2
0.18.1
0.18.0
0.17.4
0.17.3
0.17.2
0.17.1
0.17.0
0.16.1
0.16.0
0.15.0
0.14.1
0.14.0
0.13.1
0.13.0
0.12.1
0.12.0
0.11.1
0.11.0
0.10.7
0.10.6
0.10.5
0.10.4
0.10.3
0.10.2
0.10.1
0.10.0
0.9.1
0.9.0
0.9.0-rc.1
0.9.0-rc.0
0.8.4
0.8.3
0.8.2
0.8.1
0.8.0
0.7.4
0.7.3
0.7.2
0.7.1
0.7.0
0.6.6
0.6.5
0.6.4
0.6.3
0.6.2
0.6.1
0.6.0
0.5.7
0.5.6
0.5.5
0.5.4
0.5.3
0.5.2
0.5.1
0.5.0
0.4.0
0.3.4
0.3.3
0.3.2
0.3.1
0.3.0
0.2.3
0.2.2
0.2.1
0.2.0
0.1.3
0.1.2
0.1.1
0.1.0
Zoi is a schema validation library for Elixir, designed to provide a simple and flexible way to define and validate data.
Current section
Files
Jump to
Current section
Files
lib/zoi/validations/gte.ex
defprotocol Zoi.Validations.Gte do
@moduledoc false
@fallback_to_any true
@doc """
Sets the minimum constraint value on the schema.
Each type implements this to set the appropriate field (e.g., min_length for String, gte for Integer).
Custom error messages can be passed via opts[:error].
"""
@spec set(Zoi.schema(), term(), Zoi.options()) :: Zoi.schema()
def set(schema, value, opts)
@doc """
Validates input against the constraint value.
The value is passed explicitly, not read from the schema.
Used by both field-based validation and :validation effects.
"""
@spec validate(Zoi.schema(), Zoi.input(), term(), Zoi.options()) ::
:ok | {:error, Zoi.Error.t()}
def validate(schema, input, value, opts)
end
defimpl Zoi.Validations.Gte, for: Any do
def set(schema, value, opts) do
Zoi.refine(schema, {Zoi.Validations.Gte, :validate, [value, opts]})
end
def validate(_schema, _input, _value, _opts), do: :ok
end