Files
LazyPM/pkg/web/handler/forms.go
2026-02-13 13:40:16 +01:00

31 lines
527 B
Go

package handler
import (
"net/http"
"github.com/go-playground/form/v4"
"github.com/go-playground/validator/v10"
)
var (
decoder = form.NewDecoder()
validate = validator.New(validator.WithRequiredStructEnabled())
)
func ParseForm[T any](r *http.Request) (*T, error) {
if err := r.ParseForm(); err != nil {
return nil, err
}
var data T
if err := decoder.Decode(&data, r.PostForm); err != nil {
return nil, err
}
return &data, nil
}
func ValidateForm[T any](data *T) error {
return validate.Struct(data)
}