iodevs/elm-validate/2.0.0

NOTE: the latest version is 3.0.3

Validators

This library provides a few functions for validating data.

Numbers validation

isFloat : ErrorMessage -> Validator String Float

Return an Err errorMessage if the given value isn't float number, otherwise return Ok value.

import Validation exposing (Validator, ErrorMessage)


floatValidation : Validator String Float
floatValidation =
    isFloat "It is not float number!"


floatValidation "5.39161" -- Ok 5.39161
floatValidation "t.39161" -- Err "It is not float number!"
isPositiveFloat : ErrorMessage -> Validator String Float

Return an Err errorMessage if the given value isn't positive float number, otherwise return Ok value. It contains also float validation of value.

isInt : ErrorMessage -> Validator String Int

Return an Err errorMessage if the given value isn't int number, otherwise return Ok value.

import Validation exposing (Validator, ErrorMessage)


intValidation : Validator String Int
intValidation =
    isInt "It is not int number!"


intValidation "108" -- Ok 108
intValidation "3.14" -- Err "It is not int number!"
isPositiveInt : ErrorMessage -> Validator String Int

Return an Err errorMessage if the given value isn't positive int number, otherwise return Ok value. It contains also int validation of value.

Strings validation

isNotEmpty : ErrorMessage -> String -> Result String String

Return an Err errorMessage if the given string is empty, otherwise return Ok value.

isEmail : ErrorMessage -> String -> Result String String

Return an Err errorMessage if the given string isn't correct an email address, otherwise return Ok value.

isUrl : ErrorMessage -> String -> Result String String

Return an Err errorMessage if the given string isn't correct an url path, otherwise return Ok value.

List validation

isInList : ErrorMessage -> ( a, List a ) -> Result String a

Return an Err errorMessage if the given value isn't in list, otherwise return Ok value.

import Validation exposing (Validator, ErrorMessage)


elInListValidation : Validator (Int, List Int) Int
elInListValidation =
    isInList "Given value is not in list!"


elInListValidation (3, [1, 2, 3]) -- Ok 3
elInListValidation (5, [1, 2, 3]) -- Err "Given value is not in list!"

Others validation

isTrue : ErrorMessage -> Bool -> Result String Bool

Return an Err errorMessage if the given boolean value is false, otherwise return Ok True.

isEqualTo : Field raw a -> ErrorMessage -> a -> Result String a

Validate Field

Return an Err errorMessage if the given value of Field Valid a isn't same as validation argument, otherwise return Ok validation argument for others Validity or for Valid a is Ok value.

import Validation exposing (Validator, ErrorMessage, Field)


pass : Field String String
pass =
    Field "" (Valid "password*")


confirmPasswordValidation : Validator String String
confirmPasswordValidation =
    isEqualTo pass "The passwords don't match."


confirmPasswordValidation "password*" -- Ok password*
confirmPasswordValidation "pasword*"  -- Err "The passwords don't match."
isValidField : Field raw a -> Bool

Return false if Field hasn't validity Valid a, otherwise return true.

import Validation exposing (Field, field, preValidatedField)


intNotValidValue = field "50"        -- Field "50" NotValidated
intValidValue = preValidatedField 50 -- Field "50" (Valid 50)


isValidField intNotValidValue -- False
isValidField intValidValue    -- True