Re: Cayenne validation

From: Mike Kienenberger (mkienen..mail.com)
Date: Thu Mar 15 2007 - 11:43:10 EDT

  • Next message: Andrus Adamchik: "Re: AW: AW: AW: possible bug / memory leak in DispatchQueue and EventManager?"

    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