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>
上記の正規表現パターンは、少なくとも1桁、大文字1文字、小文字1文字、特殊記号1文字( “@#$%”)を含む6〜20文字の文字列が必要です。これは、パスワードの検証に強く複雑なものです。このリンク://regular-expressions/how-to-validate-password-with-regular-expression/[正規表現によるパスワード検証]を参照してください。
“f:validateRegex”の例
強力なパスワードバリデータを作成するための ”
f:validateRegex
“タグの使用方法を示すJSF 2.0の例です。
1.マネージドBean
ユーザー管理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ページ
JSF XHTMLページで、 ”
f:validateRegex
“タグを使用して、 “password”フィールドが指定された正規表現パターンと一致することを確認してください。
<?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>
デモ
“password”が正規表現パターンと一致しない場合、エラーメッセージを表示します。
jsf2-ValidateRegex-Example、width = 639、height = 248]例:
ソースコードをダウンロードする
ダウンロード – リンク://wp-content/uploads/2010/10/JSF-2-ValidateRegex-Example.zip[JSF-2-ValidateRegex-Example.zip](9KB)
リファレンス
2 validateRegex JavaDoc]。 link://正規表現/正規表現を使用したパスワード – 正規表現付き/[パスワード
正規表現による検証]