[
http://opensource.atlassian.com/projects/hibernate/browse/HV-228?page=com...
]
Hardy Ferentschik commented on HV-228:
--------------------------------------
I am not sure I follow. First of Validator 4.x implements the Bean Validation standadd
(JSR 303) so we have to stick to what's defined in there.
That said, the actual validation does not throw exceptions. The various validation methods
of javax.validation.Validator all return Set<ConstraintViolation<T>>. The set
is empty if the validation is successful otherwise one ConstraintViolation instance per
failing constraint is added.
When it comes to integration of Bean Validation into other frameworks, for example JPA ,
the framework might decide to wrap the constraint violations into an exception. In this
case the ConstraintViolationException is recommended which gives access to the violations
via getConstraintViolations()
To have the various error messages of the set as part of toString of the
ConstraintViolationException, either the integrating framework has to build this error
string and pass it to the constructor of the ConstraintViolationException or toString on
ConstraintViolationException needs to be overriden. Not sure whether the latter is a good
idea, but you could suggest it on the Bean Validation forum -
https://forum.hibernate.org/viewforum.php?f=26
InvalidateStateException needs to show the error messages in the
message when it's thrown
-----------------------------------------------------------------------------------------
Key: HV-228
URL:
http://opensource.atlassian.com/projects/hibernate/browse/HV-228
Project: Hibernate Validator
Issue Type: New Feature
Affects Versions: 3.1.0.GA
Reporter: Ken Egervari
Original Estimate: 1 hour
Remaining Estimate: 1 hour
I dunno if you fixed this in 4.0 releases. To make testing easier, I think the error
messages should be viewable when the exception is thrown. I know it's possible to
inspect the exception for these errors, but within a unit test, this is just too much work
and it's annoying.
In practice, we create all these objects and do tests. Sometimes these objects get sent
to the database and are saved.
Now, let's say 3 validation constraints aren't met. On the outset, the developer
is 100% blind and must code in a try/catch and print out the list of errors. When this
happens over and over and over... it's just tedious. When a test fails because an
unexpected validation exception is thrown, I don't want to have to do this - I want to
instantly see what went wrong so I can make the changes to my test case and run it
quickly.
I think this change would facilitate much faster test/code cycles, and it shouldn't
be hard to add in.
Thanks
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira