" F: validateRegex " ist ein neues Validator-Tag in JSF 2.0, das zum Validieren der JSF-Komponente mit einem bestimmten Muster für reguläre Ausdrücke verwendet wird. Zum Beispiel,
<h:inputSecret id="password" value="#{user.password}"> <f:validateRegex pattern="((?=.** \d)(?=.** [a-z])(?=.** [A-Z])(?=.** [@#$%]).{6,20})"/> </h:inputSecret>
Das obige Regex-Muster ist eine Zeichenfolge von 6 bis 20 Zeichen mit mindestens einer Ziffer, einem Großbuchstaben, einem Kleinbuchstaben und einem Sonderzeichen ("@ # $%"). Dies ist stark und komplex genug für eine Kennwortüberprüfung. Siehe folgenden Link://reguläre Ausdrücke/Gültigkeitsprüfung-Kennwort mit regulärem Ausdruck/[Kennwortüberprüfung mit regulärem Ausdruck].
"f: validateRegex" Beispiel
Ein JSF 2.0-Beispiel, das die Verwendung des Tags " f: validateRegex " zum Erstellen eines Validators für starke Kennwörter veranschaulicht.
1. Managed Bean
Eine vom Benutzer verwaltete Bean.
package com.mkyong; import java.io.Serializable; import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped; @ManagedBean(name="user") @SessionScoped public class UserBean implements Serializable{ String password; public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
2. JSF-Seite
Auf der JSF-XHTML-Seite wird die Verwendung des Tags " f: validateRegex " angezeigt, um sicherzustellen, dass das Feld "password" mit dem angegebenen Muster für reguläre Ausdrücke übereinstimmt.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" > <h:body> <h1>JSF 2 validateRegex example</h1> <h:form> <h:panelGrid columns="3"> Enter your password : <h:inputSecret id="password" value="#{user.password}" size="20" required="true" label="Password"> <f:validateRegex pattern="((?=.** \d)(?=.** [a-z])(?=.** [A-Z])(?=.** [@#$%]).{6,20})"/> </h:inputSecret> <h:message for="password" style="color:red"/> </h:panelGrid> <h:commandButton value="Submit" action="result"/> </h:form> </h:body> </html>
3. Demo
Wenn das Kennwort nicht mit dem regulären Ausdruck übereinstimmt, zeigen Sie die Fehlermeldung an.
Quellcode herunterladen
Download - JSF-2-ValidateRegex-Example.zip (9 KB)
Referenz
2 validateRegex JavaDoc]. Link://reguläre Ausdrücke/Gültigkeitsprüfung-Passwort-mit-regulärer Ausdruck/[Passwort
Validierung mit regulärem Ausdruck]