Hi Ted, Am 22.08.2013 um 16:15 schrieb Theodore Petrosky:
> So I can create ValidationTemplate.strings > > "Quote.quoteAmount"="You must enter a dollar amount in the format 123.00 (you > entered weird characters)!"; > > is there a key that I can access what was typed? @@enteredQuoteAmountValue@@ > > so I can add it to the error message? You should be able to refer to the value the user entered via "@@escapedValue@@". If you create the exception, then you should pass the value, see <http://www.aurealis.de/webobjects/wonder/api/html/classer_1_1extensions_1_1validation_1_1_e_r_x_validation_factory.html#0a9ef3a34c0e7f052c37ff669a8c223d> > also, > if I input 234.66666666666 in the field my app crashes with: > > Error: com.webobjects.eoaccess.EOGeneralAdaptorException: The > attribute quoteAmount has a scale of 2, but the value 123.666666666 has a > scale of 9: Rounding necessary > Reason: The attribute quoteAmount has a scale of 2, but the value > 123.666666666 has a scale of 9: Rounding necessary I'm not sure about the rounding issue as I've never had that. As an aside: Maybe you should consider using BigDecimal if precision is an issue. > so I created a validation method: > > public Object validateQuoteAmount(Object aValue) throws > ValidationException { > > Double returnValue = 0.0; > try { > DecimalFormat df = new DecimalFormat("#.##"); > returnValue = Double.valueOf(df.format(aValue)); > > } catch (Exception e) { > // TODO Auto-generated catch block > e.printStackTrace(); > } > > return returnValue; > } You should check the object type (is it a double?), coerce the value and if anything is invalid, throw a validation exception: throw ERXValidationFactory.defaultFactory().createCustomException( this, theProperty, theValueProvided), "TheExceptionType"); Fabian > is there a better way? > > Ted > > > On Aug 21, 2013, at 1:42 PM, Ramsey Gurley <[email protected]> wrote: > >> http://thecodinglove.com/post/49933241299/when-i-start-using-a-3rd-party-lib-and-notice-there-is >> >> ERXValidationFactory.templateForEntityPropertyType determines what keys are >> considered for most validation messages. In order, they are >> >> entity.property.type >> entity.property >> property.type >> property >> type >> >> So let's say you have an EO named Document with a mandatory title attribute. >> Leaving that blank would result in a NullPropertyException type validation >> error. So, your keys would be from most specific to least: >> >> Document.title.NullPropertyException >> Document.title >> title.NullPropertyException >> title >> NullPropertyException >> >> Typically, the least specific key is already defined in Wonder's >> ValidationTemplate.strings in the frameworks. >> >> "NullPropertyException" = "Please provide @@indefiniteArticleForProperty@@ >> <b>@@displayNameForProperty@@</b>."; >> >> You can override these with the more specific keys. >> >> In this specific case, the validation template string is actually defined >> elsewhere. It's the result of an EOGeneralAdaptorException being converted >> into a standard validation exception in the ERXSQLHelper. You can find it in >> the PostgresqlSQLHelper.handleDatabaseException method. >> >> On Aug 21, 2013, at 10:22 AM, Christoph Wick wrote: >> >>> Is there a documentation about the possible keys for that? What kinds of >>> keys can I put into a ValidationTemplates.string? >>> >>> Thx, C.U.CW >>> -- >>> What are the three enemies of a programmer? Sunlight, oxygen, and the >>> appalling roar of the birds. >>> >>> On 14.08.2013, at 04:07, Theodore Petrosky <[email protected]> wrote: >>> >>>> wow, that's beautiful >>>> >>>> >>>> >>>> On Aug 13, 2013, at 8:45 PM, Paul Hoadley <[email protected]> wrote: >>>> >>>>> Hi Ted, >>>>> >>>>> On 14/08/2013, at 10:03 AM, Theodore Petrosky <[email protected]> wrote: >>>>> >>>>>> I added an index and unique constraint to my User. loginName column. >>>>>> >>>>>> I see in the logs that when I try to violate the uniqueness my d2w does >>>>>> the correct thing and complain however this is the error: >>>>>> >>>>>> Could not save your changes: CustomMethodException >>>>>> >>>>>> I do see in the logs: >>>>>> >>>>>> ERROR: duplicate key value violates unique constraint "loginname_idx" >>>>>> >>>>>> did I miss something in a rule to pass the better worded error message >>>>>> to the user? >>>>> >>>>> Create Resources/English.lproj/ValidationTemplate.strings and add: >>>>> >>>>> { >>>>> "UniqueConstraintException.loginname_idx" = "Please choose a different >>>>> username."; >>>>> } >>>>> >>>>> Does that work? >>>>> >>>>> >>>>> -- >>>>> Paul Hoadley >>>>> http://logicsquad.net/ >>>>> >>>>> >>>>> >>>> >>>> >>>> _______________________________________________ >>>> Do not post admin requests to the list. They will be ignored. >>>> Webobjects-dev mailing list ([email protected]) >>>> Help/Unsubscribe/Update your Subscription: >>>> https://lists.apple.com/mailman/options/webobjects-dev/wicki%40me.com >>>> >>>> This email sent to [email protected] >>> >>> >>> _______________________________________________ >>> Do not post admin requests to the list. They will be ignored. >>> Webobjects-dev mailing list ([email protected]) >>> Help/Unsubscribe/Update your Subscription: >>> https://lists.apple.com/mailman/options/webobjects-dev/rgurley%40smarthealth.com >>> >>> This email sent to [email protected] >> >> >> _______________________________________________ >> Do not post admin requests to the list. They will be ignored. >> Webobjects-dev mailing list ([email protected]) >> Help/Unsubscribe/Update your Subscription: >> https://lists.apple.com/mailman/options/webobjects-dev/tedpet5%40yahoo.com >> >> This email sent to [email protected] > > > _______________________________________________ > Do not post admin requests to the list. They will be ignored. > Webobjects-dev mailing list ([email protected]) > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/webobjects-dev/lists.fabian%40e-lumo.com > > This email sent to [email protected] _______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list ([email protected]) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to [email protected]
