27 lines
561 B
Go
27 lines
561 B
Go
package validator
|
|
|
|
import (
|
|
"github.com/go-playground/validator/v10"
|
|
"gitlab.com/digineat/go-broker-test/internal/model"
|
|
"log"
|
|
"regexp"
|
|
)
|
|
|
|
var validate *validator.Validate
|
|
|
|
func init() {
|
|
validate = validator.New()
|
|
err := validate.RegisterValidation("symbol", func(fl validator.FieldLevel) bool {
|
|
symbol := fl.Field().String()
|
|
matched, _ := regexp.MatchString(`^[A-Z]{6}$`, symbol)
|
|
return matched
|
|
})
|
|
if err != nil {
|
|
log.Fatal("RegisterValidation not created")
|
|
}
|
|
}
|
|
|
|
func ValidateTrade(trade *model.Trade) error {
|
|
return validate.Struct(trade)
|
|
}
|