Refactored ValidationError to allow persisting error params and error codes as the exception bubbles up
Fixed #20199 -- Allow ModelForm fields to override error_messages from model fields