Current section
Files
Jump to
Current section
Files
lib/validation/validation.ex
defprotocol Rubbergloves.Validation do
alias Rubbergloves.Errors.Validation.ValidationError
@fallback_to_any true
@spec valid?(any) :: Boolean.t
def valid?(validation)
@spec errors(any) :: ValidationError | []
def errors(validation)
end
defimpl Rubbergloves.Validation, for: Any do
alias Rubbergloves.Errors.Validation.ValidationError
def valid?(:ok), do: true
def valid?(:invalid_type), do: false
def errors(:ok), do: []
def errors(:invalid_type), do: %ValidationError{ errors: [{:type, "Invalid type"}]}
end