[richfaces-issues] [JBoss JIRA] (RF-13127) onvalid and oninvalide pass wrong element when using rich:element with String field

Louis Parisi (JIRA) jira-events at lists.jboss.org
Thu Aug 22 14:39:26 EDT 2013


     [ https://issues.jboss.org/browse/RF-13127?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Louis Parisi updated RF-13127:
------------------------------

    Description: 
I have a bean iterated in a datatable.  Using the rich:validator on fields in the bean I am executing javascript when a field is validated and apply styling based on valid or invalid state.  The code below returns the correct element when the underlying field is a BigDecimal but intermittently returns the element from row zero and sometimes another rown when the field is a String.  If I just reference a String vs. BigDecimal and display the element passed to the javascript I get form:myTable:4:myField for a BigDecimal field and always form:myTable:0:myField no matter the row for a String field.

{code}
<h:inputText value="#{myBean.myField}" id="myField">              
  <rich:validator oninvalid="valueModifiedAndError(#{rich:element('myField')})"
                  onvalid="valueModified(#{rich:element('myField')})"/>                      
</h:inputText>
{code}

Some other tests I did while trying to debug are:
* I passed the rowKeyVar to a javascript method in the onvalid event and it passed the correct row for a BigDecimal and always zero for a String field.
* The oncomplete event of the validator does not seem to fire for a String field but does for a BigDecimal field.


  was:
I have a bean iterated in a datatable.  Using the rich:validator on fields in the bean I am executing javascript when a field is validated and apply styling based on valid or invalid state.  The code below returns the correct element when the underlying field is a BigDecimal but always returns the element from row zero when the field is a String.  If I just reference a String vs. BigDecimal and display the element passed to the javascript I get form:myTable:4:myField for a BigDecimal field and always form:myTable:0:myField no matter the row for a String field.

{code}
<h:inputText value="#{myBean.myField}" id="myField">              
  <rich:validator oninvalid="valueModifiedAndError(#{rich:element('myField')})"
                  onvalid="valueModified(#{rich:element('myField')})"/>                      
</h:inputText>
{code}

Some other tests I did while trying to debug are:
* I passed the rowKeyVar to a javascript method in the onvalid event and it passed the correct row for a BigDecimal and always zero for a String field.
* The oncomplete event of the validator does not seem to fire for a String field but does for a BigDecimal field.



    
> onvalid and oninvalide pass wrong element when using rich:element with String field
> -----------------------------------------------------------------------------------
>
>                 Key: RF-13127
>                 URL: https://issues.jboss.org/browse/RF-13127
>             Project: RichFaces
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: component-validators
>    Affects Versions: 4.3.3
>            Reporter: Louis Parisi
>              Labels: waiting_on_user
>         Attachments: JSFTemplate.zip
>
>
> I have a bean iterated in a datatable.  Using the rich:validator on fields in the bean I am executing javascript when a field is validated and apply styling based on valid or invalid state.  The code below returns the correct element when the underlying field is a BigDecimal but intermittently returns the element from row zero and sometimes another rown when the field is a String.  If I just reference a String vs. BigDecimal and display the element passed to the javascript I get form:myTable:4:myField for a BigDecimal field and always form:myTable:0:myField no matter the row for a String field.
> {code}
> <h:inputText value="#{myBean.myField}" id="myField">              
>   <rich:validator oninvalid="valueModifiedAndError(#{rich:element('myField')})"
>                   onvalid="valueModified(#{rich:element('myField')})"/>                      
> </h:inputText>
> {code}
> Some other tests I did while trying to debug are:
> * I passed the rowKeyVar to a javascript method in the onvalid event and it passed the correct row for a BigDecimal and always zero for a String field.
> * The oncomplete event of the validator does not seem to fire for a String field but does for a BigDecimal field.

--
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


More information about the richfaces-issues mailing list