Validator ref

Run Settings
LanguageGo
Language Version
Run Command
package main import ( "fmt" "strings" "strconv" "time" ) func validateBets(order *entities.Order) { betsValidators, err := getOrderTypeValidators(order.Type) if err != nil { order.Errors.AddValidatorsNotExistsForOrderType(int(order.Type)) return } var checkedBets entities.OrderBetsCollection for _, bet := range order.Metadata().GetCheckedBets() { if betsValidators.Validate(bet) { checkedBets = append(checkedBets, bet) } } order.Metadata().UpsertCheckedBets(checkedBets) } func getOrderTypeValidators() Validater { return &Validators{} } type Validater interface { Validate(bet Bet) bool } type Validators []Validator func (v Validators) Validate(bet Bet) bool { for _, validator := range betsValidators { if ok := validator(bet, &order.Errors, order.Metadata()); !ok { // Here we just finished validation for current bet, particular // error has already been written in the validator to `order.Errors`. return false } } return true }
Editor Settings
Theme
Key bindings
Full width
Lines