exvalidate v0.0.1 Exvalidate.Rules.Type View Source
This validation check the type of variable. The checked types are the next:
- :string => "name", "address", "language",
- :list => ["name", "address", "language"],
- :map => %{name: "Vegeta", address: "Vegeta planet"},
- :tuple => {:name, "Vegeta"},
- :number => 23, 2.3, 4, 0.9, -0.9, -4,
- :integer => 23, 4, -4,
- :float => 2.3, 0.9, -0.9.
- :atom => :vegeta, :picolo
- :boolean => true, false
Examples atom
iex(3)> Exvalidate.Rules.Type.validating({:type, :atom}, :Saiyajin)
{:ok, :Saiyajin}
iex(3)> Exvalidate.Rules.Type.validating({:type, :atom}, 33)
{:error, :type_value_wrong}
Examples string
iex(3)> Exvalidate.Rules.Type.validating({:type, :string}, "Saiyajin")
{:ok, "Boo"}
iex(3)> Exvalidate.Rules.Type.validating({:type, :string}, "Saiyajin")
{:error, :type_value_wrong}
Examples list
iex(3)> Exvalidate.Rules.Type.validating({:type, :list}, ["Saiyajin", "Namek"])
{:ok, ["Saiyajin", "Namek"]}
iex(3)> Exvalidate.Rules.Type.validating({:type, :list}, "Saiyajin")
{:error, :type_value_wrong}
Examples map
iex(3)> Exvalidate.Rules.Type.validating({:type, :map}, %{"Saiyajin" => "Vegetta"})
{:ok, %{"Saiyajin" => "Vegetta"}}
iex(3)> Exvalidate.Rules.Type.validating({:type, :map}, "Saiyajin")
{:error, :type_value_wrong}
Examples tuple
iex(3)> Exvalidate.Rules.Type.validating({:type, :tuple}, {"Saiyajin", "Namek"})
{:ok, {"Saiyajin", "Namek"}}
iex(3)> Exvalidate.Rules.Type.validating({:type, :tuple}, "Saiyajin")
{:error, :type_value_wrong}
Examples number
iex(3)> Exvalidate.Rules.Type.validating({:type, :number}, 3)
{:ok, 3}
iex(3)> Exvalidate.Rules.Type.validating({:type, :number}, 3.3)
{:ok, 3.3}
iex(3)> Exvalidate.Rules.Type.validating({:type, :number}, "3")
{:ok, 3}
iex(3)> Exvalidate.Rules.Type.validating({:type, :number}, "3.3")
{:ok, 3.3}
iex(3)> Exvalidate.Rules.Type.validating({:type, :number}, "Thr.ee")
{:error, :type_value_wrong}
Examples float
iex(3)> Exvalidate.Rules.Type.validating({:type, :float}, 3.3)
{:ok, 3.3}
iex(3)> Exvalidate.Rules.Type.validating({:type, :float}, "3.3")
{:ok, 3.3}
iex(3)> Exvalidate.Rules.Type.validating({:type, :float}, "Vegeta")
{:error, :type_value_wrong}
Examples integer
iex(3)> Exvalidate.Rules.Type.validating({:type, :integer}, 3)
{:ok, 3}
iex(3)> Exvalidate.Rules.Type.validating({:type, :integer}, "3")
{:ok, 3}
iex(3)> Exvalidate.Rules.Type.validating({:type, :integer}, "Vegeta")
{:error, :type_value_wrong}
Examples boolean
iex(3)> Exvalidate.Rules.Type.validating({:type, :boolean}, true)
{:ok, true}
iex(3)> Exvalidate.Rules.Type.validating({:type, :boolean}, false)
{:ok, false}
iex(3)> Exvalidate.Rules.Type.validating({:type, :boolean}, "true")
{:ok, true}
iex(3)> Exvalidate.Rules.Type.validating({:type, :boolean}, "false")
{:ok, false}
iex(3)> Exvalidate.Rules.Type.validating({:type, :boolean}, "TRUE")
{:ok, true}
iex(3)> Exvalidate.Rules.Type.validating({:type, :boolean}, "FALSE")
{:ok, false}
iex(3)> Exvalidate.Rules.Type.validating({:type, :boolean}, "1")
{:ok, true}
iex(3)> Exvalidate.Rules.Type.validating({:type, :boolean}, "0")
{:ok, false}
iex(3)> Exvalidate.Rules.Type.validating({:type, :boolean}, 1)
{:ok, true}
iex(3)> Exvalidate.Rules.Type.validating({:type, :boolean}, 0)
{:ok, false}
iex(3)> Exvalidate.Rules.Type.validating({:type, :boolean}, "Vegeta")
{:error, :type_value_wrong}
The :number type includes the types :float and :integer.