DbAttribute.isMandatory().
So you'd start at an ObjRelationship, get the DbRelationship, then
cycle through each DbJoin of the DbRelationship. For each join,
you'd getTarget().isMandatory().
On 3/15/07, syrinx <syrinx200..mail.com> wrote:
>
> Thanks Malcom your comments were very helpful!
>
> There is one thing I can't figure out though. How can I query the metadata
> to find out if a specific relation is mandatory or not? Is there a way to
> access the db metadata and extract that kind of information?
>
> Your help is greatly appreciated.
>
>
> Malcolm Edgar-2 wrote:
> >
> > One of the great features of Cayenne is that you can get this object
> > meta data, and enhance your UI so that it is aware of these
> > constraints.
> >
> > See the method: setObjEntityFieldConstrains(String, ObjEntity) for an
> > example:
> >
> > http://svn.sourceforge.net/viewvc/click/trunk/click/extras/src/net/sf/click/extras/cayenne/CayenneForm.java?revision=1725&view=markup
> >
> > regards Malcolm Edgar
> >
> > On 3/15/07, Aristedes Maniatis <ar..aniatis.org> wrote:
> >>
> >> On 15/03/2007, at 6:38 AM, syrinx wrote:
> >>
> >> > For example, if I try to commit an object with a missing "mandatory
> >> > field",
> >> > I get a ValidationException. From that exception I can access a
> >> > BeanValidationFailure object which contains the details of the
> >> > validation
> >> > error (description, source, attribute). The thing is that I would
> >> > like to
> >> > change the generic error messages (ex: field cannot be empty, field
> >> > exceeds
> >> > maximum allowed length) thrown by cayenne and these messages seem
> >> > to be hard
> >> > coded in the sources.
> >> >
> >> > Is there a "clean way" to customize those messages?
> >>
> >> Write your own validateForSave functions within the object entity
> >> subclass which return any validation message you want.
> >>
> >> if (getLastName() == null || getLastName().trim().length() == 0) {
> >> result.addFailure(ValidationFailure.validationFailure(this,
> >> Student.LAST_NAME_PROPERTY,
> >> "You must enter a student last name."));
> >> }
> >>
> >> Ari Maniatis
> >>
> >>
> >> -------------------------->
> >> Aristedes Maniatis
> >> phone +61 2 9660 9700
> >> PGP fingerprint 08 57 20 4B 80 69 59 E2 A9 BF 2D 48 C2 20 0C C8
> >>
> >>
> >>
> >
> >
>
> --
> View this message in context: http://www.nabble.com/Cayenne-validation-tf3404355.html#a9496912
> Sent from the Cayenne - User mailing list archive at Nabble.com.
>
>
This archive was generated by hypermail 2.0.0 : Thu Mar 15 2007 - 11:43:59 EDT