Skip to content

ksaucedo002/kcheck

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

KCheck

KCheck es una librería que permite validar campos del tipo string en una estructura.

Guide

Installation

    go get github.com/ksaucedo002/kcheck

Example

    type Persona struct {
        Dni             string `chk:"num len=8"`
        Nombre          string `chk:"max=20"`
        ApellidoPaterno string `chk:"min=10 max=80"`
        Edad            uint
    }

    func main() {
        p := Persona{Dni: "98736712", Nombre: "Kevin", ApellidoPaterno: "Saucedo", Edad: 23}
        //return err if `p` is invalid
        if err := kcheck.Valid(p); err != nil {
            log.Println(err)
        }
        //valid with omits, Field Nombre is omited
        if err := kcheck.ValidWithOmit(p, kcheck.OmitFields{"Nombre"}); err != nil {
                log.Println(err)
        }
    }
tag keys Descripcion
nonil la cadena no puede ser nula o vacia, y los espacios vacíos no cuentas
nosp verifica que no hay espacios vacíos al inicio o al final de la cadena
sword valores 0-9 a-z A-Z y _ son los unicos perimtidos, (no espacios)
stxt stext, safe text; solo permite texto sin espacios al inicio ni al final, las palabras no pueden estar separadas por más de dos espacios, y solo están permitidos los caracteres que no están en esta lista:!\"#$%&'()*+,./:;<=>?@[\\]^_}{~|, puede usarse para recibir nombre, apellidos entre otros
email correo electronico
url web url, http y https //aun no disponible
num verifica si todos los caracteres son numéricos
decimal solo numeros decimales; 00.00, 1.00 si son validos
len=:numbre la longitud de la cadena ingresada, debe ser igual a :number
max=:numbre la longitud maxima debe ser menor igual :number
min=:numbre la longitud minima debe ser mayor igual :number
rgx=:expression permite pasar un expresión regular, ejem tagKey: rgx=(^[0-9]{8}$)


Tag example: chk:"nonil num len=8" //la cadena no puede estar vacía, solo puede haber 8 caracteres numéricos

About

go structure validator based on tags

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages