« 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]ссылка://тег/регулярное выражение/[регулярное выражение]ссылка://тег/проверка/[проверка]