This adds transforms for the ids in the errors to a label,
and adds them to the validation error message.
This changes the formatting of the validation error to happen when
constructing the error, rather than in the unhandled error handler.
It also requires some code for all the error variants for extracting the ids.