Apresentando Schema - Uma Biblioteca de Validação para Go Inspirada no Zod

Olá, galera! Todos bem?

Estou trabalhando numa biblioteca de validação open-source para Golang chamada Schema e estou super empolgado para compartilhar isso com a comunidade!

🎉 O que é Schema?

Schema é uma biblioteca de validação leve, porém poderosa, para Go, inspirada na popular biblioteca JavaScript, Zod. Seja validando strings, números ou até structs complexas, o Schema oferece uma API limpa e intuitiva para tornar a validação fácil e eficiente.

🌟 Recursos

  • Validação de Strings
  • Validação de Números
  • Validação de Structs
  • Mensagens de Erro Personalizadas: Personalize mensagens de erro para fornecer feedback significativo.
  • Extensibilidade: Estenda a biblioteca com lógica de validação personalizada facilmente.

📦 Instalação

go get github.com/mkafonso/schema

Exemplo de como utilizar

package yours

import (
	"fmt"

	"github.com/mkafonso/schema/pkg/validator"
)

func ValidateEmailExample() {
	input := "meu-email@gmail.com"

	stringValidator := validator.NewStringValidator().
		MinLength(5, "A string deve ter no mínimo 5 caracteres").  
		MaxLength(50, "A string deve ter no máximo 50 caracteres"). 
		IsEmail("Formato de email inválido")                        

	result := stringValidator.Validate(input)

	if result.IsValid {
		fmt.Println("Validation successful!")
	} else {
		fmt.Println("Validation error:", result.Errors)
	}
}

Experimente e me diga o que achou. Estou ansioso para receber seu feedback!

Link do repositório: https://github.com/mkafonso/schema

Massa demais cara. É muito satisfatorio contribuir com algo né? Recentemente lancei um componente para CEP tb e tem umas pessoas usando já. muito massa.

https://www.tabnews.com.br/andersoncampolina/react-input-cep

Acabei de ver o teu projeto. Ficou muito bom! 🎉 Parabéns pela iniciativa!
Valeu 🎉 Estou me organizando para adicionar mais features. Se tiver algumas sugestões, pfvr, pode sugerir.