validate

package
v0.2.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 1, 2015 License: MIT Imports: 4 Imported by: 0

README

validate

validate is a small tool manage your validators of string as a chain.

Example

var wrongLength = errors.New("wrong length")
var wrongChars = errors.New("wrong chars")
var Email = validate.Use(
    validate.Length{
        Min: 3,
        Max: 30,
        Err: wrongLength,
    }.Validate,
    validate.Chars{
        Chars: "abcdefghijklmn@",
        Err:   wrongChars,
    }.Validate,
)
var Name = validate.Use(
    validate.Length{
        Min: 3,
        Max: 16,
        Err: wrongLength,
    }.Validate,
    validate.Chars{
        Chars: "abcdefg",
        Err:   wrongChars,
    }.Validate,
)
var Password = validate.Length{
    Min: 8,
    Max: 16,
    Err: wrongLength,
}.Validate

var User = validate.UseMul(Email, Name, Password)

Email("ab") == wrongLength
Email("abcde12345") == wrongChars

Name("12345") == wrongChars

Password("111") == wrongLength

//     Email    Name  Password Password
//      |         |      |       |
User("abcde", "12345", "111", "ddd") == ?

Documentation

Index

Constants

View Source
const (
	ErrParamsCountNotMatch = errors.Err("parameters count not matched with validators")
)

Variables

This section is empty.

Functions

func Nop added in v0.2.3

func Nop(string) error

func UseMul

func UseMul(vc ...Validator) func(...string) error

func UseStrictMul

func UseStrictMul(vc ...Validator) func(...string) error

Types

type Chars

type Chars struct {
	// Chars should be sorted in ascending
	Chars string
	Err   error
}

func (Chars) Validate

func (c Chars) Validate(s string) error

type Length

type Length struct {
	Min, Max int
	Err      error
}

func (Length) Validate

func (length Length) Validate(s string) error

type Regexp

type Regexp struct {
	Regexp *regexp.Regexp
	Err    error
}

func (Regexp) Validate

func (r Regexp) Validate(s string) error

type SimpleEmail

type SimpleEmail struct {
	Err error
}

SimpleEmail only check '@” and '.' character

func (SimpleEmail) Validate

func (e SimpleEmail) Validate(s string) error

type ValidChain

type ValidChain []Validator

func New

func New(validators ...Validator) ValidChain

func (ValidChain) StrictValidateM

func (vc ValidChain) StrictValidateM(s ...string) error

func (ValidChain) Validate

func (vc ValidChain) Validate(s string) error

Validate string with validators, return first error or nil

func (ValidChain) ValidateM

func (vc ValidChain) ValidateM(s ...string) error

type Validator

type Validator func(string) error

func Use

func Use(vc ...Validator) Validator

func ValidChars

func ValidChars(chars string, err error) Validator

func ValidLength

func ValidLength(min, max int, err error) Validator

func ValidRegexp

func ValidRegexp(reg *regexp.Regexp, err error) Validator

func ValidSimpleEmail

func ValidSimpleEmail(err error) Validator

func (Validator) CanbeEmpty added in v0.2.3

func (v Validator) CanbeEmpty() Validator

func (Validator) ValidateV added in v0.2.3

func (v Validator) ValidateV(s ...string) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL