如何自定义验证器?
来源:互联网 发布:知乎hfp护肤品怎么样 编辑:程序博客网 时间:2024/06/06 09:19
当struts2 为我们提供的15个验证器不能满足我们的验证要求时,我们就要自定义验证器了?
如何自定义验证器呢?
我们可以按照下面的步骤,就可以自定义验证器了!
具体的实施 :以 18位身份证验证器为例,步骤如下:
示例如下:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~分割线~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
项目结构
类
验证器支持类 IDCard.java
自定义验证器:IDCardValidate.java
package com.baidu.IdCard;import com.opensymphony.xwork2.validator.ValidationException;import com.opensymphony.xwork2.validator.validators.FieldValidatorSupport;public class IDCardValidate extends FieldValidatorSupport {@Overridepublic void validate(Object object) throws ValidationException {//1. 获取参数String fieldName = getFieldName();Object value = this.getFieldValue(fieldName, object);//2. 验证IDCard idCard = new IDCard();boolean result = idCard.Verify((String)value);//3. 返回验证结果 if (!result) { addFieldError(fieldName, object); }}}
Action:IDCardValidationAction.java
package com.baidu.IdCard;import com.opensymphony.xwork2.ActionSupport;public class IDCardValidationAction extends ActionSupport{private static final long serialVersionUID = 1L;private String idCard;public String getIdCard() {return idCard;}public void setIdCard(String idCard) {this.idCard = idCard;}@Overridepublic String execute() throws Exception {return super.execute();}}
配置验证器:IDCardValidationAction-validation.xml
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.2//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd"><validators> <field name="idCard"> <field-validator type="idcard"> <message>身份证号码输入错误</message> </field-validator> </field></validators>
配置 :struts.xml
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""http://struts.apache.org/dtds/struts-2.3.dtd"><struts><!-- 配置全局的国际化资源文件 --><constant name="struts.custom.i18n.resources" value="nihao"></constant><package name="default" namespace="/" extends="struts-default"><action name="testIDCard" class="com.baidu.IdCard.IDCardValidationAction"><result>/success.jsp</result><result name="input">/idcard.jsp</result></action></package></struts>
<span style="font-size:14px;"><?xml version="1.0" encoding="UTF-8"?><!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator Definition 1.0//EN" "http://struts.apache.org/dtds/xwork-validator-definition-1.0.dtd"><!-- START SNIPPET: validators-default --><validators> <validator name="idcard" class="com.baidu.IdCard.IDCardValidate"/> </validators></span>
页面:
idcard.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@ taglib prefix="s" uri="/struts-tags" %><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body><s:form action="testIDCard"><s:textfield name="idCard" label="IDCard"></s:textfield><s:submit></s:submit></s:form></body></html>success.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@ taglib prefix="s" uri="/struts-tags" %><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body><h3>恭喜你有为青年!</h3></body></html>
效果:
0 0
- 如何自定义验证器?
- Struts2 自定义验证器
- 自定义验证器
- Struts2_自定义验证器
- Struts2自定义验证器
- 如何自定义Struts2表单验证…
- Struts2默认验证器、自定义验证器
- Struts2默认验证器、自定义验证器
- struts2自定义验证器(身份证验证)
- struts2自定义验证器(身份证验证)
- Struts2自定义验证器(居民身份证验证)
- struts2 自定义验证器(身份证验证)
- 【DWZ】表单验证规则介绍,与如何修改表单验证,如何添加自定义表单验证
- JSF自定义验证器标签
- JSF自定义验证器功能
- 36.Struts2_自定义验证器
- Struts2验证框架 图片验证码 自定义验证器
- Struts2验证(声明式验证、自定义验证器)
- 工作中最全最常用的正则表达式
- c++ 常量表达式
- [绍棠] iOS开发- 文件共享(利用iTunes导入文件, 并且显示已有文件) 以及 iOS App与iTunes文件传输的方法和对iOS App文件结构的说明
- 孤儿进程与僵尸进程[总结](转)
- Navicat中常用到的实用工具
- 如何自定义验证器?
- Sublime Text 关闭自动更新提示
- abort()函数
- hibernate addEntity setResultTransformer
- 目标检测(1)
- Activity卡顿、变慢的原因
- Eclipse错误: 找不到或无法加载主类或项目无法编译10种解决大法!
- 关于VR产品的前世今生,看这一篇文章就够了
- HDU 2098 分拆素数和 (素数基础)