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]

Reply via email to