2025-02-24 22:04:48 +05:00

37 lines
674 B
Go

package validator
import (
"errors"
"github.com/labstack/echo/v4"
"strings"
validator "github.com/go-playground/validator/v10"
)
type Validator struct {
validator *validator.Validate
}
func NewValidator() *Validator {
return &Validator{validator: validator.New()}
}
func (val *Validator) Validate(i interface{}) error {
err := val.validator.Struct(i)
if err == nil {
return nil
}
err = errors.New(strings.Replace(err.Error(), "\n", ", ", -1))
return err
}
func ParseAndValidate(i interface{}, request echo.Context) error {
if err := request.Bind(i); err != nil {
return err
}
if err := request.Validate(i); err != nil {
return err
}
return nil
}