3

I have multiple sections on page. I am rendering these sections using a list. I want fields in first section to be required only. so I have used an apex:variable which I am incrementing within apex:repeat. I have used condition with apex:inpufield required attribute.

<apex:inputfield value="{!obj[myInfo.fieldPath]}" required="{!IF(srNo==1 ,true,false)}"/>

with this condition I am getting red bar in front of the field but on submitting the page, it is not validating that field. why this is happening?

7
  • How are you surfacing srNo? Commented May 7, 2013 at 11:08
  • i am using it in repeat as apex:variable
    – Pankaj
    Commented May 7, 2013 at 11:24
  • Do you have immediate="true" on your submit button? Commented May 7, 2013 at 11:55
  • No. i do not have immediate="true". i have few other fields on the page also, they are validating accordingly.
    – Pankaj
    Commented May 7, 2013 at 12:08
  • 1
    Are you using a Standard Controller with a custom extension, or a custom controller? Commented May 7, 2013 at 12:49

1 Answer 1

3

This sounds like it might be a bug. If you're seeing the red bar next to the right fields you can safely assume that the required flag is getting set correctly.

Things that override field requirements to consider:

Immediate Flag

If you set the immediate attribute of the any action element (i.e. commandButton) to true the action method will execute before any validations and the required field gets ignored.

Action Region

If you're using an apex:actionRegion tag only data within that tag is getting sent to the controller in the post back and the required field check won't occur

Non-Standard Submit

If you're submit action occurs via a webservice or apex remoting it's bypassing the usual form submit and the required field check.

Bugs

If nothing else is making sense it may just be a bug in the platform. You can submit a case to support, but it's probably a lot quicker just to enforce the check yourself in the controller.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .