FormValuesOr extracts and parses all values for a form values key as a slice. Returns defaultValue if the parameter is not found. Returns an error only if parsing any value fails or form parsing errors occur. Example: tags, err := echo.FormValuesOr[string](c, "tags", []string{}) // If "tags" is
(c *Context, key string, defaultValue []T, opts ...any)
| 298 | // |
| 299 | // See ParseValues for supported types and options |
| 300 | func FormValuesOr[T any](c *Context, key string, defaultValue []T, opts ...any) ([]T, error) { |
| 301 | formValues, err := c.FormValues() |
| 302 | if err != nil { |
| 303 | return nil, fmt.Errorf("failed to parse form values, key: %s, err: %w", key, err) |
| 304 | } |
| 305 | values, ok := formValues[key] |
| 306 | if !ok { |
| 307 | return defaultValue, nil |
| 308 | } |
| 309 | result, err := ParseValuesOr[T](values, defaultValue, opts...) |
| 310 | if err != nil { |
| 311 | return nil, NewBindingError(key, values, "form values", err) |
| 312 | } |
| 313 | return result, nil |
| 314 | } |
| 315 | |
| 316 | // ParseValues parses value to generic type slice. Same types are supported as ParseValue |
| 317 | // function but the result type is slice instead of scalar value. |
nothing calls this directly
no test coverage detected
searching dependent graphs…