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

Jiří Štefek (JIRA) jira-events at lists.jboss.org
Tue Sep 10 09:06:03 EDT 2013


    [ https://issues.jboss.org/browse/RF-13127?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12803105#comment-12803105 ] 

Jiří Štefek edited comment on RF-13127 at 9/10/13 9:04 AM:
-----------------------------------------------------------

I can confirm, that rich:validator behaves incorrectly, when placed in iteration component, validates a String value and uses onvalid/oninvalid functions with parameters.
It seems that the parameters for these function are not forwarded correctly when using some string validations.

I've attached another sample (RF-13127.zip), using rich:repeat instead of dataTable, and only with one set of string validated and one set of number validated inputs.
In this sample, all string validated inputs (vin) forwards the same parameters (id of first vin input) to the onvalid/oninvalid function.
                
      was (Author: jstefek):
    I can confirm, that rich:validator behaves incorrectly, when placed in iteration component, validates a String value and uses onvalid/oninvalid functions with parameters.
It seems that the parameters for these function are not forwarded correctly when using some string validations.

I've attached another sample, using rich:repeat instead of dataTable, and only with one set of string validated and one set of number validated inputs.
In this sample, all string validated inputs (vin) forwards the same parameters (id of first vin input) to the onvalid/oninvalid function.
                  
> 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
>            Assignee: Jiří Štefek
>         Attachments: JSFTemplate.zip, RF-13127.zip, richfaces.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 id="vendor" value="#{car.vendor}" valueChangeListener="#{car.valueChanged}">
>     <rich:validator oninvalid="valueModified(#{rich:element('vendor')}, false)"
>                     onvalid="valueModified(#{rich:element('vendor')}, true)"/>
> </h:inputText>
> {code}
> {code}
> <script>
>     function valueModified(element, valid) {
>         // use element.style rather than jQuery as it
>         // does not set entire background
>         alert("valueModified: " + element.id + " | valid: " + valid);
>         element.style.background='yellow';
>         if (valid) {
>           jQuery(element).css("border-color", "lightgray");
>         } else {
>           jQuery(element).css("border-color", "red");
>         }
>       }
>     </script>
> {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