lib/validators/empty.ex
defmodule Veli.Validators.Empty do
@moduledoc """
Empty value validator.
## Example
rule = [type: :string, empty: true]
Veli.valid("hello", rule) # valid
Veli.valid("", rule) # valid
rule = [type: :string, empty: false]
Veli.valid("hello", rule) # valid
Veli.valid("", rule) # not valid
"""
@spec valid?(any, boolean) :: boolean
def valid?(value, rule) when is_binary(value) do
if value === "" and rule === false do
false
else
true
end
end
def valid?(_value, _rule) do
false
end
end