environnement OS : macOS Hight Sierra Version10.13.2 Eclipse : Version: Neon.3 Release (4.6.3) GlassFish : 4.1.2 JSF : 2.2 JDK : 1.8
inputPassword.xhtml
<réduction>
<h:head>
<title>écran de saisie</title>
<h:outputStylesheet library="css" name="base.css"/>
</h:head>
<body>
<h:form>
<h:outputLabel>S'il vous plaît entrer le mot de passe.</h:outputLabel>
<br />
<h:inputSecret id="password" value="#{passwordBean.password}">
<f:validateRequired />
<f:validateLength minimum="3" maximum="10" />
<f:validator validatorId="passwordValidator" />
</h:inputSecret>
<h:message for="password" errorClass="error" />
<br />
<h:outputLabel>Déjà pour confirmation Veuillez le saisir une fois.</h:outputLabel>
<br />
<h:inputSecret id="rePassword" value="#{passwordBean.kakuninPassword}">
<f:validateRequired />
</h:inputSecret>
<h:message for="rePassword" errorClass="error" />
<br />
<h:commandButton value="Envoyer" action="#{passwordBean.onClickSend}" />
</h:form>
</body>
</html>
base.css
@CHARSET "UTF-8";
.error {
color: red;
}
PasswordValidator.java
<réduction>
/**Validateur personnalisé pour l'écran de saisie du mot de passe. */
@FacesValidator(value = "passwordValidator")
public class PasswordValidator implements Validator {
private static final String KINSHI = "password";
@Override
public void validate(FacesContext context, UIComponent component, Object value)
throws ValidatorException {
String inputedValue = (String) value;
if (inputedValue.equals(KINSHI)) {
FacesMessage errorMessage = new FacesMessage(KINSHI + "Ne peut pas être utilisé.");
throw new ValidatorException(errorMessage);
}
}
}
Comme on le voit avec l'outil de développement du navigateur
<label>S'il vous plaît entrer le mot de passe.</label>
<br>
<input id="j_idt6:password" type="password" name="j_idt6:password" value="">
"le mot de passe ne peut pas être utilisé.
"
<br>
<label>Déjà pour confirmation Veuillez le saisir une fois.</label>
<br>
<input id="j_idt6:rePassword" type="password" name="j_idt6:rePassword" value="">
<span class="error">Erreur de validation:Nécessite une valeur.</span>
PasswordValidator.java
<réduction:D'autres sont les mêmes que le code ci-dessus>
FacesMessage errorMessage = new FacesMessage(KINSHI + "Ne peut pas être utilisé.");
errorMessage.setSeverity(FacesMessage.SEVERITY_ERROR);
throw new ValidatorException(errorMessage);
<réduction:D'autres sont les mêmes que le code ci-dessus>
Comme on le voit avec l'outil de développement du navigateur
<label>S'il vous plaît entrer le mot de passe.</label>
<br>
<input id="j_idt6:password" type="password" name="j_idt6:password" value="">
<span class="error">le mot de passe ne peut pas être utilisé.</span>
<br>
<label>Déjà pour confirmation Veuillez le saisir une fois.</label>
<br>
<input id="j_idt6:rePassword" type="password" name="j_idt6:rePassword" value="">
<span class="error">Erreur de validation:Nécessite une valeur.</span>
Attribut errorClass: spécifie la classe CSS pour les messages d'erreur