validator

package
v1.60.1 Latest Latest
Warning

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

Go to latest
Published: Oct 30, 2025 License: MIT Imports: 7 Imported by: 4

README

Package validator

Пакет validator предоставляет адаптер для валидации структур с использованием библиотеки github.com/txix-open/validator/v10 и поддержки перевода ошибок на английский язык.

Types

Adapter

Адаптер для валидации, инкапсулирующий валидатор и переводчик сообщений об ошибках.

Methods:

New() Adapter

Создаёт новый адаптер для валидатора с английским переводчиком.

Validate(v any) (ok bool, details map[string]string)

Проверяет структуру, возвращает true если валидация прошла успешно, иначе false и карту ошибок по полям.

ValidateToError(v any) error

Проверяет структуру, возвращает nil если ошибок нет, иначе объект ошибки с подробным описанием.

Usage

Default usage flow
package main

import (
	"fmt"
	"log"

	"github.com/txix-open/validator"
)

type User struct {
	Name  string `validate:"required"`
	Email string `validate:"required,email"`
	Age   int    `validate:"gte=0,lte=130"`
}

func main() {
	// Создаём адаптер валидатора с переводом ошибок на английский
	validator := validator.Default

	user := User{
		Name:  "",
		Email: "invalid-email",
		Age:   150,
	}

	ok, details := validator.Validate(user)
	if !ok {
		fmt.Println("Validation failed:")
		for field, errMsg := range details {
			fmt.Printf(" - %s: %s\n", field, errMsg)
		}
	} else {
		fmt.Println("Validation succeeded")
	}

	// Можно получить ошибку с описанием валидации
	err := validator.ValidateToError(user)
	if err != nil {
		log.Printf("Validation error: %v", err)
	}
}

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	Default = New()
)

nolint:gochecknoglobals

Functions

This section is empty.

Types

type Adapter

type Adapter struct {
	// contains filtered or unexported fields
}

func New

func New() Adapter

func (Adapter) Validate

func (a Adapter) Validate(v any) (ok bool, details map[string]string)

nolint:nonamedreturns

func (Adapter) ValidateToError

func (a Adapter) ValidateToError(v any) error

nolint:err113

Jump to

Keyboard shortcuts

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