code: func parseTagIntoMap(tag string) tagOptionsMap {
  	optionsMap := make(tagOptionsMap)
  	options := strings.Split(tag, ",")
  
  	for i, option := range options {
  		option = strings.TrimSpace(option)
  
  		validationOptions := strings.Split(option, "~")
  		if !isValidTag(validationOptions[0]) {
  			continue
  		}
  		if len(validationOptions) == 2 {
  			optionsMap[validationOptions[0]] = tagOption{validationOptions[0], validationOptions[1], i}
  		} else {
  			optionsMap[validationOptions[0]] = tagOption{validationOptions[0], "", i}
  		}
  	}
  	return optionsMap
  }
docs: // parseTagIntoMap parses a struct tag `valid:required~Some error message,length(2|3)` into map[string]string{"required": "Some error message", "length(2|3)": ""}