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.托管豆

用户管理的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>

3.演示

如果“密码”与正则表达式模式不匹配,则显示错误消息。

jsf2-ValidateRegex-Example

下载源代码

下载它– JSF-2-ValidateRegex-Example.zip (9KB)

参考

  1. JSF 2 validateRegex JavaDoc
  2. 使用正则表达式进行密码验证

翻译自: https://mkyong.com/jsf2/jsf-2-validateregex-example/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值