Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 17 additions & 2 deletions validator.go
Original file line number Diff line number Diff line change
@@ -1,12 +1,27 @@
package validatorfx

import "github.com/go-playground/validator/v10"
import (
"reflect"
"strings"

"github.com/go-playground/validator/v10"
)

type Validator = validator.Validate

// New creates a new validator instance with required struct field validation enabled.
// WithRequiredStructEnabled ensures the "required" family of tags (e.g., required, required_if)
// apply to non-pointer struct fields, treating their zero values as invalid.
func New() *Validator {
return validator.New(validator.WithRequiredStructEnabled())
v := validator.New(validator.WithRequiredStructEnabled())
v.RegisterTagNameFunc(func(fld reflect.StructField) string {
//nolint:mnd //fixed length
name := strings.SplitN(fld.Tag.Get("json"), ",", 2)[0]
if name == "-" {
return ""
}
return name
})

return v
}