myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rapster (JIRA)" <...@myfaces.apache.org>
Subject [jira] [Commented] (MYFACES-4059) OutputLabel.for would not evaluate target correctly
Date Tue, 09 Aug 2016 22:29:20 GMT

    [ https://issues.apache.org/jira/browse/MYFACES-4059?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15414356#comment-15414356
] 

Rapster commented on MYFACES-4059:
----------------------------------

No indeed "for" attribute in h:outputLabel does not have anything to do with "required" validation,
but it's just a simple phrase to emphase the real problem. I'm quite surprised regarding what
you just said. I debugged more deeply into the code, here is what I see:
1/ HtmlLabelRenderer line 165, once retrieved String forAttr = getFor(uiComponent);, you don't
do much with it. Except of course encode the "for" attribute 
2/ Using Eclipse, I evaluate this expression ((javax.faces.component.html.HtmlInputText)uiComponent.findComponent(forAttr)).isRequired()
which returns false instead of true.
There is definitely something wrong. To recall, I'm using myfaces 2.2.10

> OutputLabel.for would not evaluate target correctly
> ---------------------------------------------------
>
>                 Key: MYFACES-4059
>                 URL: https://issues.apache.org/jira/browse/MYFACES-4059
>             Project: MyFaces Core
>          Issue Type: Bug
>    Affects Versions: 2.2.10
>            Reporter: Rapster
>            Assignee: Leonardo Uribe
>
> In a very simple way, here is a composite:
> {code}
> <ui:component 
>     xmlns="http://www.w3.org/1999/xhtml"
>     xmlns:f="http://xmlns.jcp.org/jsf/core"
>     xmlns:h="http://xmlns.jcp.org/jsf/html"
>     xmlns:cc="http://xmlns.jcp.org/jsf/composite"
>     xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
>     xmlns:c="http://xmlns.jcp.org/jsp/jstl/core"
>     xmlns:fn="http://xmlns.jcp.org/jsp/jstl/functions"
>     xmlns:p="http://primefaces.org/ui"
> >
>     <cc:interface>
>         <cc:attribute name="value" />
>         <cc:attribute name="required" />
>     </cc:interface>
>     <cc:implementation>
>         <p:calendar id="calendar" value="#{cc.attrs.value}" required="#{cc.attrs.required}"
showOn="button"/>  
>     </cc:implementation>
> </ui:component>
> {code}
> Here how I use it:
> {code}
> <h:outputLabel for="rat:calendar" value="Hello" />
> <my:calendar id="rat" required="true"/>
> {code}
> A required=true icon should be displayed but it does not. input.isRequired() returns
false while I explicitly set true.Looks like a JSF problem (I'm using Mojarra 2.2.13 and reproduced
on Myfaces 2.2.10 as well) (I used to use outputLabel from Primefaces, but I reproduced the
problem with native outputLabel)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message