Comment personnaliser le message de validation qui apparaît lorsque la validation échoue?
Voici le code que j'ai:
<h:form>
<p><h:inputText
id="userNo"
title="Type a number from 0 to 10:">
<f:validateLongRange
minimum="3"
maximum="6"/>
</h:inputText>
<h:commandButton id="submit" value="Submit"
action="response"/>
</p>
<h:message showSummary="true" showDetail="false"
id="errors1"
for="userNo"/>
</h:form>
Actuellement, le message ressemble à ceci:
j_idt10:userNo: Validation Error: Specified attribute is not between the expected values of 3 and 6.
Ce qui n'est pas particulièrement convivial.
Le moyen le plus simple serait de définir le validatorMessage="my custom message"
attribut dans <h:inputText>
tag.
Pour un moyen plus avancé, lisez cet article Personnaliser le message d'erreur de validation dans JSF 2.
En plus de la réponse de Daniel, vous pouvez toujours utiliser l'attribut label
pour vos composants d'entrée pour supprimer le client-id (j_idt10:userNo:
) du message d'erreur.
Par exemple. avec
<h:inputText id="userNo" title="Type a number from 0 to 10:"
label="User number">
<f:validateLongRange
minimum="3"
maximum="6"/>
</h:inputText>
produira:
Numéro d'utilisateur: erreur de validation: l'attribut spécifié n'est pas compris entre les valeurs attendues de 3 et 6.
L'attribut label peut également être une expression el pour modifier dynamiquement cette partie du message d'erreur.
Vous pouvez utiliser la propriété validatorMessage du texte d'entrée. Utilisez la propriété requiredMessage pour le message requis, elle est différente du message du validateur.
<h:input text required ="true" validatorMessage="Enter user friendly message">
<f:validateLongRange
minimum="3"
maximum="6"/>
</h:inputText>