Hi,

I wrote a custom ValidationDecorator to mark all required fields with *
(T5.0.15). Therefore I call field.isRequired() in insideLabel() like that:

public class ValidationDecorator extends BaseValidationDecorator
{

        @Override
        public void insideLabel(Field field, Element labelElement)
        {
                if (field.isRequired())
                        addRequiredClass(labelElement);
        } 

It works well for normal fields, but when the field is inside a BeanEditor I
get the following exception:

Render queue error in AfterRender[ValidationTest:editor.loop]: Failure
reading parameter 'validate' of component
core/PropertyEditBlocks:numberfield: No object of type
org.apache.tapestry5.services.PropertyEditContext is available from the
Environment. Available types are org.apache.tapestry5.RenderSupport,
org.apache.tapestry5.ValidationDecorator,
org.apache.tapestry5.ValidationTracker,
org.apache.tapestry5.internal.services.ClientBehaviorSupport,
org.apache.tapestry5.services.BeanEditContext,
org.apache.tapestry5.services.FormSupport,
org.apache.tapestry5.services.Heartbeat.

I think the problem is that PropertyEditor.cleanupEnvironment() pops the
PropertyEditContext from the Environment and hence is no longer available in
insideLabel() of the ValidationDecorator. If I remove
PropertyEditor.cleanupEnvironment() it works. Any suggestions for a clean
solution?

Thanks in advance.

Best Regards
Rolf


-- 
View this message in context: 
http://www.nabble.com/-T5--Custom-ValidationDecorator-causing-Exception-in-BeanEditor-tp20084804p20084804.html
Sent from the Tapestry - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to