exvalidate v0.0.1 Exvalidate.Rules.Between View Source

The field under validation must have a size between the given min and max.

  • Strings: length is between those values.
  • Numerics: value is between those values.
  • Lists: length of array is between those values.
  • Tuple: length of tuple is between those values.

Examples with string

iex(3)> Exvalidate.Rules.Between.validating({:between, {"6", "10"}}, "Vegeta")
{:error, :between_rule_wrong}
iex(3)> Exvalidate.Rules.Between.validating({:between, {4, 20}}, "Vegeta")
{:ok, "Vegeta"}

Examples with numerics

iex(3)> Exvalidate.Rules.Between.validating({:between, {4, 20}}, 7)
{:ok, 7}
iex(3)> Exvalidate.Rules.Between.validating({:between, {4, 20}}, 35)
{:error, :not_between_min_max}

Examples with lists

iex(3)> Exvalidate.Rules.Between.validating({:between, {4, 20}}, ["Vegeta", "Goku", "Picolo", "Krilin"])
{:ok, ["Vegeta", "Goku", "Picolo", "Krilin"]}
iex(3)> Exvalidate.Rules.Between.validating({:between, {3, 5}}, ["Vegeta", "Krilin"])
{:error, :not_between_min_max}

Examples with tuple

iex(3)> Exvalidate.Rules.Between.validating({:between, {4, 20}}, {"Vegeta", "Goku", "Picolo", "Krilin"})
{:ok, {"Vegeta", "Goku", "Picolo", "Krilin"}}
iex(3)> Exvalidate.Rules.Between.validating({:between, {4, 20}}, {"Vegeta", "Krilin"})
{:error, :not_between_min_max}

For see examples go to the tests: test/rules/between_test.exs