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? @Override protected void validateForSave(ValidationResult validationResult) { super.validateForSave(validationResult); if(getCompanyName().equalsIgnoreCase("")) { validationResult.addFailure(new ValidationFailure() { @Override public Object getSource() { return this; } @Override public Object getError() { return Company.CNAME_PROPERTY; } @Override 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 > > > > > > >