5

I have <apex:commandbutton> in a repeat section. I want that when submit is peformed of a single section it does not encounter the validations of other sections, so I am using immediate = true. The problem I am facing is my data does not post on server.

<apex:repeat value="{!listVal}" var="record"/>
  <apex:repeat value="{!Fields}" var="f">
    <apex:inputField value="{!record[f]}" required="{!OR(f.required,f.dbrequired)}" />
  </apex:repeat>

 <apex:commandbutton value="submit" action="{!save}" immediate="true" />    
</apex:repeat>   

I have checked, and i found that it is the behaviour of which does not allow to post data to server. How should I implement this?

9

Well Pankaj whenever you are setting immediate="true" for a command button the validations along with the setter for the fields doesnt fire and hence data is not posted to server/controller.

You can also try to enclose sections inside <apex:ActionRegion> this will allow you submit the corresponding section to the server.

Something like this probably

<apex:repeat value="{!listVal}" var="record"/>
    <apex:ActionRegion>
      <apex:outputPanel id="panel">
          <apex:repeat value="{!Fields}" var="f">
            <apex:inputField value="{!record[f]}" required="{!OR(f.required,f.dbrequired)}" />
          </apex:repeat>

            <apex:commandbutton value="submit" action="{!save}" rerender="panel" />
     </apex:outputPanel> 
   <apex:ActionRegion>
</apex:repeat>
| improve this answer | |
  • what should i do now? – Pankaj Feb 16 '13 at 8:32
  • @Pankaj updated the answer. – Avidev9 Feb 16 '13 at 15:41
  • 3
    These days you can also use multiple <apex:form>s to achieve the same effect as the action regions. – Matt Lacey Feb 18 '13 at 23:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.