JSF 2 validateRegex-Beispiel

" 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.

jsf2-ValidateRegex-Beispiel

Quellcode herunterladen

Referenz

2 validateRegex JavaDoc]. Link://reguläre Ausdrücke/Gültigkeitsprüfung-Passwort-mit-regulärer Ausdruck/[Passwort

Validierung mit regulärem Ausdruck]