Pular para o conteúdo principal
Versão: Em desenvolvimento — v0.2.3

Validação

O pacote validator integra go-playground/validator e é inicializado por colibri.InitializeApp().

Validar uma struct

package users

import (
"github.com/colibriproject-dev/colibri-sdk-go/pkg/base/validator"
)

type CreateUser struct {
Name string `validate:"required,min=2"`
Email string `validate:"required,email"`
CPF string `validate:"omitempty,cpf"`
}

func Validate(input CreateUser) error {
return validator.Struct(input)
}

Além das tags do go-playground/validator, o SDK registra:

TagValidação
cpfCPF brasileiro
cnpjCNPJ brasileiro
br-statesSigla de uma unidade federativa
br-postal-codeCEP brasileiro
sort-directionDireção de ordenação suportada

Decodificar formulário

var input CreateUser
if err := validator.FormDecode(&input, values); err != nil {
return err
}
return validator.Struct(input)

Validação personalizada

validator.RegisterCustomValidation("username", func(fl playValidator.FieldLevel) bool {
return len(fl.Field().String()) >= 3
})

Registre validações personalizadas depois de InitializeApp() e antes de processar requisições.