0 Replies Latest reply on Nov 6, 2012 4:02 AM by Peter Fry

    Seam 2.3 / JSF 2.2 empty strings and f:validator

    Peter Fry Newbie

      I am in the process of migrating from Seam 2.2.2 to Seam 2.3 and am seeing a pretty significant change in behaviour.


      The page layout is:




          <h:outputLabel id="niNumber-label" styleClass="form-label" for="niNumber" value="#{messages['prompt.niNumber']}" />

          <h:inputText id="niNumber" styleClass="opt-input" maxlength="9" value="#{memberSearchAction.niNumber}" label="#{messages['prompt.niNumber']}" >

            <f:validator validatorId="NiNumberValidator" />


          <h:outputLabel id="surname-label" styleClass="form-label" for="surname" value="#{messages['prompt.surname']}" />

          <h:inputText id="surname" styleClass="opt-input" maxlength="25" value="#{memberSearchAction.surname}" label="#{messages['prompt.surname']}" />




      Previously, submitting the form with an empty value for the niNumber didn't result in the validator firing.


      In Seam 2.3/JSF 2.2 it does fire and because the validator requires a non-null value it displays an error.


      The presence or absence of s:validateAll makes no difference.


      Is this a known change moving from Seam 2.2 to Seam 2.3? Or is it just a JSF 1.2 to JSF 2.2 thing?


      Obviously a single case is easily fixed but I'm migrating a whole application and would like a clear understanding of what has changed?