cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From syrinx <syrinx2...@gmail.com>
Subject Re: Cayenne validation
Date Thu, 15 Mar 2007 15:27:19 GMT

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 <ari@maniatis.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.


Mime
View raw message