Skip to content

go.echo.request_validation

Correctness Medium

Detects Echo handlers without request validation.

Missing validation:

  • Invalid data accepted — Bad input reaches business logic
  • Security vulnerabilities — Unvalidated input exploitable
  • Runtime errors — Type mismatches cause panics
// ❌ Before (no validation)
func CreateUser(c echo.Context) error {
var req UserRequest
c.Bind(&req) // No validation!
return createUser(req)
}
// ✅ After (with validation)
func CreateUser(c echo.Context) error {
var req UserRequest
if err := c.Bind(&req); err != nil {
return echo.NewHTTPError(http.StatusBadRequest, err.Error())
}
if err := c.Validate(&req); err != nil {
return echo.NewHTTPError(http.StatusBadRequest, err.Error())
}
return createUser(req)
}
  • Bind() without Validate()
  • Missing validation on request body
  • No error handling on bind