IsURL is a validator checking that the value is a fully formed URL
(name string, value string)
| 33 | |
| 34 | // IsURL is a validator checking that the value is a fully formed URL |
| 35 | func IsURL(name string, value string) (string, error) { |
| 36 | u, err := url.Parse(value) |
| 37 | if err != nil { |
| 38 | return fmt.Sprintf("%s is invalid: %v", name, err), nil |
| 39 | } |
| 40 | if u.Scheme == "" { |
| 41 | return fmt.Sprintf("%s is missing a scheme", name), nil |
| 42 | } |
| 43 | if u.Host == "" { |
| 44 | return fmt.Sprintf("%s is missing a host", name), nil |
| 45 | } |
| 46 | return "", nil |
| 47 | } |
| 48 | |
| 49 | // Prompts |
| 50 |