- 正则表达式验证器
- 正则表达式验证器的参数
- 正则表达式验证器的示例
正则表达式验证器使用指定的正则表达式验证给定的字符串。可用于密码, 安全密钥等。
正则表达式验证器的参数
为正则表达式验证器定义了4个参数。
Parameter | Description |
---|---|
fieldName | 指定要验证的字段名称。仅在Plain-Validator中需要。 |
expression | 指定正则表达式。 |
caseSensitive | 指定是否以区分大小写的方式匹配表达式。默认情况下为true。 |
trim | 指定在匹配之前是否应修整该值。默认情况下为true。 |
正则表达式验证器的示例
<validators>
<!-- Plain Validator Syntax -->
<validator type="regex">
<param name="fieldName">data</param>
<param name="expression">[A-Z, a-z, 0-9]{5}</param>
<message>data must be alpha numeric of 5 digits</message>
</validator>
</validators>
<validators>
<!-- Field Validator Syntax -->
<field name="data">
<field-validator type="regex">
<param name="expression">[A-Z, a-z, 0-9]{5}</param>
<message>data must be alpha numeric of 5 digits</message>
</field-validator>
</field>
</validators>
正则表达式验证器的完整示例
1)创建index.jsp作为输入
该jsp页面使用struts UI标记创建表单。它从用户那里接收名称, 密码和电子邮件ID。
index.jsp
<%@ taglib uri="/struts-tags" prefix="s" %>
<html>
<head>
<STYLE type="text/css">
.errorMessage{color:red;}
</STYLE>
</head>
<body>
<marquee>validation...........</marquee>
<s:form action="register">
<s:textfield name="data" label="Data"></s:textfield>
<s:submit value="register"></s:submit>
</s:form>
</body>
</html>
2)创建动作类
该操作类继承了ActionSupport类, 并覆盖了execute方法。
RegisterAction.java
package com.srcmini;
import com.opensymphony.xwork2.ActionSupport;
public class Register extends ActionSupport{
private String data;
public String getData() {
return data;
}
public void setData(String data) {
this.data = data;
}
public String execute(){
return "success";
}
}
3)创建验证文件
在这里, 我们使用捆绑的验证器来执行验证。
Register-validation.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
"-//OpenSymphony Group//XWork Validator 1.0.2//EN"
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
<validators>
<!--<field name="data">
<field-validator type="regex">
<param name="expression">[A-Z, a-z, 0-9]{5}</param>
<message>data must be alpha numeric of 5 digits</message>
</field-validator>
</field>
-->
<field name="data">
<field-validator type="regex">
<param name="expression">[A, a][A-Z, a-z, 0-9]{5}</param>
<message>data must be alpha numeric of 6 digits and starts with a or A</message>
</field-validator>
</field>
</validators>
4)创建struts.xml
该xml文件通过名称输入和拦截器jsonValidatorWorkflowStack定义了一个额外的结果。
struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="default" extends="struts-default">
<action name="register" class="com.srcmini.Register">
<result name="input">index.jsp</result>
<result>welcome.jsp</result>
</action>
</package>
</struts>
5)创建视图组件
它是显示用户信息的简单jsp文件。
welcome.jsp
<%@ taglib uri="/struts-tags" prefix="s" %>
Data is, <s:property value="data"/>
下载此示例
评论前必须登录!
注册