”
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://正規表現/正規表現を使用したパスワード – 正規表現付き/[パスワード
正規表現による検証]