Bonjour,

Après une validation de champ, lorsque la condition n'est pas réalisée et que je retourne un ValidatorException, il ne se passe plus rien lorsque je click à nouveau sur mes composants.
J'ai fait des tests en utilisant des validateurs personnalisé ou ceux de jsf (<f:validateRegex> par exemple) mais rien n'y change.

Je précise que je suis en partial process.

Ci dessous mon code ou j'ai laissé les 2 cas de validation
Merci d'avance pour votre aide

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<p:dialog header="#{labels['nonOk.forceFeasibility']}" widgetVar="popupForceFeasibility" resizable="true" width="800" height="700" dynamic="true">
	<h:form id="popupForceFeasibilityId">
		<p:messages id="forceFeaMsg" showDetail="true" autoUpdate="true" />
		....
		<p:column style="width: 40%;text-align:left">
			<p:inputText id="feasibilityCommentCode" maxlength="6" value="#{nonOk.feaCommentInput.feasibilityCommentCode}" validatorMessage="Invalid format : ">
			<f:validateLength minimum="6" maximum="6"/>
			<f:validateRegex pattern="^[a-zA-Z]*$" />
			</p:inputText>
		</p:column>
		...
		<p:row>
			<p:column style="text-align:center">
				<p:commandButton id="addFeasibilityCommentButton" value="#{labels['nonOk.addComment']}" update="feaForceCommentTable,feasibilityComment,feasibilityCommentCode" disabled="#{nonOk.feasibilityCommentsDisabled}" global="false" process="@this,feasibilityCommentCode,feasibilityComment" actionListener="#{nonOk.onAddingFeasibilityComments}" icon="ui-icon-add" style="font-size: 9px;font-weight: bold;" />
			</p:column>
		</p:row>
				...
		</p:panelGrid>
		...
		<p:panelGrid id="feaForceFinalLineGrid" style="width: 100%" styleClass="feaPanelGrid">
			<p:column style="width: 40%;text-align:left">
				<p:inputText id="site" maxlength="6" value="#{nonOk.feaPossibleFinalLine.site}" validator="#{nonOk.validateCode}">
					<f:validateLength minimum="1" maximum="6"/>
				</p:inputText>
			</p:column>
			<p:row>
				<p:column style="text-align:center">
					<p:commandButton id="addFinalLineButton" value="#{labels['nonOk.addFinalLine']}" update=":popupForceFeasibilityId" disabled="#{nonOk.possibleFinalLinesDisabled}" global="false" process="@this,logistic,logisticOrigin,technicalFeasibility,technicalFeasibilityOrigin,feaRespLimitedDate,checkTrialOrderOnly,site,finalLine,industrialisationLevel,cost" actionListener="#{nonOk.onAddingFinalLines}" icon="ui-icon-add" style="font-size: 9px;font-weight: bold;" />
				</p:column>
			</p:row>
		...
</p:dialog>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
public void validateCode(FacesContext context, UIComponent component, Object value) throws ValidatorException {
	Pattern p = Pattern.compile("^[a-zA-Z]*$");
	Matcher m = p.matcher((String) value);
	if (!m.matches()) {
		throw new ValidatorException(new FacesMessage(FacesMessage.SEVERITY_ERROR, "Invalid Input", "Invalid Input"));
	}
}