package app import ( "errors" "strconv" "strings" ) var formValidators = map[string]func(values []string, form *Form) error{ "required": func(values []string, form *Form) error { if len(values) == 0 || values[0] == "" { return errors.New("This field is required") } return nil }, "character_name": func(values []string, form *Form) error { if len(values) > 0 && values[0] != "" && len(strings.Split(values[0], " ")) != 2 { return errors.New("Invalid character name") } return nil }, "lodestone_url": func(values []string, form *Form) error { if len(values) > 0 && values[0] != "" { lodestoneID := sanitizeLodestoneID(values[0]) numberID, err := strconv.ParseInt(lodestoneID, 10, 64) if err != nil || numberID == 0 { return errors.New("Invalid Lodestone URL") } } return nil }, }