> Is the following correct?
Looks about right. Also there's a few pre-canned classes implementing
ValidationFailure in the org.apache.cayenne.validation package that
can be used to build failures.
> Or how can I retrieve the error message
> from the validationResult when a ValidationException is thrown
http://cayenne.apache.org/doc/api/org/apache/cayenne/validation/ValidationResult.html
Use 'getFailures()' to get a list of failures, and analyze them one by
one using ValidationFailure methods.
Andrus
On Mar 11, 2009, at 9:36 AM, Νίκος Παράσχου wrote:
> Thank you Andrus,
>
> Yes, I do not throw the exception myself. But, how am I going to
> handle
> the exception thrown by Cayenne? Or how can I retrieve the error
> message
> from the validationResult when a ValidationException is thrown, so
> that
> I can print it in the GUI?
>
> Is the following correct?
>
> ..verride
> protected void validateForSave(ValidationResult validationResult) {
> super.validateForSave(validationResult);
>
> if(getCompanyName().equalsIgnoreCase("")) {
>
> validationResult.addFailure(new ValidationFailure() {
>
> ..verride
> public Object getSource() {
> return this;
> }
>
> ..verride
> public Object getError() {
> return Company.CNAME_PROPERTY;
> }
>
> ..verride
> public String getDescription() {
> return "My error message";
> }
> });
> }
> }
>
> Nikos
>
> Στις 10-03-2009, ημέρα Τρι, και ώρα 18:16 +0200, ο/
> η Andrus Adamchik
> έγραψε:
>> The code example looks about right. However this is probably what's
>> wrong: "When a specific condition is not met, a ValidationException
>> is
>> thrown.". You should not throw the exception yourself. Just add an
>> error to the validationResult, and let Cayenne throw it later.
>>
>> Andrus
>>
>>
>> On Mar 10, 2009, at 5:03 PM, Νίκος Παράσχου wrote:
>>
>>> Hello,
>>>
>>> I implemented validateForSave(ValidationResult validationResult) in
>>> one
>>> of my ObjEntities. When a specific condition is not met, a
>>> ValidationException is thrown.
>>>
>>> How can I handle this ValidationException?
>>>
>>> The following doesn't work (I get: ValidationException is not thrown
>>> anywhere inside block try{}):
>>>
>>> try {
>>> mycontext.commit();
>>> }
>>> catch(ValidationException vex) {
>>> ...
>>> }
>>>
>>> Thank you,
>>> Nikos
>>>
>>>
>>>
>>
>
>
This archive was generated by hypermail 2.0.0 : Wed Mar 11 2009 - 04:31:01 EDT