[
https://issues.apache.org/jira/browse/TAP5-1895?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Howard M. Lewis Ship closed TAP5-1895.
--------------------------------------
Resolution: Won't Fix
Fix Version/s: (was: 5.3.3)
(was: 5.4)
Assignee: Howard M. Lewis Ship
ValidationDecorator is deprecated in 5.4 and will soon be removed.
> ValidationDecorator.insideLabel(...) is called after the removal of
> PropertyContext in PropertyEditor
> -----------------------------------------------------------------------------------------------------
>
> Key: TAP5-1895
> URL: https://issues.apache.org/jira/browse/TAP5-1895
> Project: Tapestry 5
> Issue Type: Bug
> Components: tapestry-core
> Affects Versions: 5.3.2
> Reporter: Vladimir Velikiy
> Assignee: Howard M. Lewis Ship
> Labels: label, validationdecorator
> Attachments: TAP5-1895.patch
>
>
> I want to add css class to label if field is required in my custom
> ValidationDecorator:
>
> @Override
> public void insideLabel(Field field, Element labelElement) {
> if(field == null) return;
> if(field.isRequired()) {
> labelElement.addClassName("required-label");
> }
> if(inError(field)) {
> labelElement.addClassName(CSSClassConstants.ERROR);
> }
> }
> It does not work with BeanEditForm component. The problem arises because
> method ValidationDecorator.insideLabel(...) is called in Label component
> after removal of PropertyContext from Environment (PropertyContext is needed
> for get the validator and call isRequired() method):
> @HeartbeatDeferred
> private void updateAttributes()
> {
> String fieldId = field.getClientId();
> labelElement.forceAttributes("for", fieldId);
> decorator.insideLabel(field, labelElement);
> }
> The solution for this problem would be to move the call to
> decorator.insideLabel (field, labelElement) to the beginRender method in
> Label component. Label decorating does not need to wait for rendering field
> element and only needs a label element.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira