Пример JSF 2 validateRegex

« F: validateRegex » - это новый тег валидатора в JSF 2.0, который используется для проверки компонента JSF с заданным шаблоном регулярного выражения. Например,

<h:inputSecret id="password" value="#{user.password}">
  <f:validateRegex pattern="((?=.** \d)(?=.** [a-z])(?=.** [A-Z])(?=.** [@#$%]).{6,20})"/>
</h:inputSecret>

В приведенном выше шаблоне регулярных выражений требуется строка длиной от 6 до 20 символов, содержащая как минимум одну цифру, одну заглавную букву, одну строчную букву и один специальный символ («@ # $%»). Это достаточно сильный и достаточно сложный способ проверки пароля, см. Следующую ссылку://регулярные выражения/как проверить пароль с регулярным выражением/[проверка пароля с регулярным выражением].

Пример «f: validateRegex»

Пример JSF 2.0, демонстрирующий использование тега « f: validateRegex » для создания надежного средства проверки пароля

1. Управляемый Бин

Бин, управляемый пользователем.

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

На странице JSF XHTML показано использование тега « f: validateRegex », чтобы убедиться, что поле «пароль» соответствует заданному шаблону регулярного выражения.

<?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. Демо

Если «пароль» не соответствует шаблону регулярных выражений, отобразите сообщение об ошибке.

Изображение://wp-content/uploads/2010/10/jsf2-ValidateRegex-Example.png[jsf2-ValidateRegex-пример, название = "jsf2-ValidateRegex-пример", ширина = 639, высота = 248]

Скачать исходный код

Загрузить - ссылка://wp-content/uploads/2010/10/JSF-2-ValidateRegex-Example.zip[JSF-2-ValidateRegex-Example.zip](9 КБ)

Ссылка

2 validateRegex JavaDoc], ссылка://регулярных выражения/как к Validate-пароль-с регулярным выражением/[Пароль

проверка с помощью регулярного выражения]

ссылка://тег/jsf2/[jsf2]ссылка://тег/регулярное выражение/[регулярное выражение]ссылка://тег/проверка/[проверка]