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:form>
<s:validateAll>
<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:inputText>
<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']}" />
</s:validateAll>
</h:form>
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?
Peter.