Route-specific validation error handler

Closes #1073