Thomas,

Thank you, as always, for your thoughtful reply.  I wonder how you get any 
real work done with your dedication to this forum.  I suspect you get a bit 
less sleep than me.  

The flush technique works fine.  I even managed to craft a little editor 
visitor that passes a flush command to editors that want it (those that 
implement HasFlushCommand) so that they can request a driver flush (on a 
value change) without knowing anything about the driver.  With that, I can 
have generic UiBinder-compatible validating editors that are capable of 
displaying immediate errors, like:

<e:ValueBoxEditorDecorator ui:field="priorityEditor" >
  <e:valuebox>
    <v:ValidatingIntegerBox ui:field="priorityValidator" />  <!-- so that 
the app can set properties (min, max, immediate or whatever) -->
  </e:valuebox>
</e:ValueBoxEditorDecorator>

I don't think it strays too much from the spirit of the editor framework.

Thanks again.


On Monday, October 8, 2012 9:33:33 AM UTC-5, Thomas Broyer wrote:
>
>
>
> On Monday, October 8, 2012 3:56:57 PM UTC+2, RickL wrote:
>>
>> There is a workaround, but it is not very elegant.  You can do a 
>> driver.flush() in a change handler for the field you want to validate 
>> on-the-fly which, of course, re-validates (i.e. calls getValue()) on all 
>> fields.  That seems to me a bit like swatting a fly with a sledgehammer.
>>
>> It would seem better to have, perhaps, another recordError method 
>> signature like:
>>
>> void recordError(String message, Object value, Object userData, boolean 
>> immediate);
>>
>> When immediate is true, the driver would immediately post the error to 
>> the nearest super-Editor that implements the HasEditorErrors interface, 
>> rather than waiting for a driver flush().
>>
>> Thoughts?
>>>
>>>
>>>>>
> Don't try to abuse the Editor framework for use-cases it's not meant to 
> fulfill. What you actually want is some widget that validate the field "as 
> soon as possible" and displays the error if any, *and* integrate with the 
> Editor framework so that any detected error will also be reported to the 
> EditorDelegate.
> Either that or flush() at each change.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-web-toolkit/-/LiYLAskwY7MJ.
To post to this group, send email to google-web-toolkit@googlegroups.com.
To unsubscribe from this group, send email to 
google-web-toolkit+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-web-toolkit?hl=en.

Reply via email to