Move validations into a property validationError

Validations are now stored in `validationError`, and can be optionally shown to the user.