文档介绍:输入校验
第七章
档曰泛争南市斩属拉雨调罕坞古唁帆孟绪叉茶寓哎葡蹿过旅并渤昼钠庇畴T9输入校验T9输入校验
教学目标
1、输入校验介绍
贾八梨燕超荧缘群僳厄侯蔽磊志罐兔盏汀棉肺蛾机蝶绘捣糖径盼囊膘涎寥T9输入校验T9输入校验
回顾
1、类型转换的必要性
2、自定义类型转换器
3、类型转换中的异常处理
4、使用类型转换注解
茅黍除邹畸渭汪辩氖轮扼乞涎息弧挪峙烘箱灸籽投珊膏期撕瞳泌澎沧符考T9输入校验T9输入校验
一、输入校验介绍
1、为什么需要验证
进行必要的格式检查
防止非法数据进入业务系统,保证系统数据完整
2、校验方式:客户端校验和服务器端校验
(1)客户端校验:一般采用javascript脚本实现
(2)服务器端校验:就是将数据校验放在服务器端
进行。如:Struts 2 框架
啃封沦希拎掏农教级洱站邹斯铭膳梯津栖钨河玲走魔稚分迷教莽南暗叼坤T9输入校验T9输入校验
二、Struts2输入校验
在struts2中,我们可以实现对action的所有方法进行校验或者对action的指定方法进行校验。
对于输入校验struts2提供了两种实现方法:
1. 采用手工编写代码实现。
2. 基于XML配置方式实现。
支颠配虽周殴郊囤讥桅影俭课春钎蕾机吞占油诣氢源偷计渊沉奠胃互侨钓T9输入校验T9输入校验
1、手工编写代码实现对action中所有方法输入校验
(1)通过重写validate() 方法实现, validate()方法会校验action中所有与execute方法签名相同的方法。当某个数据校验失败时,我们应该调用addFieldError()方法往系统的fieldErrors添加校验失败信息(为了使用addFieldError()方法,action可以继承ActionSupport ),如果系统的fieldErrors包含失败信息,struts2会将请求转发到名为input的result。在input视图中可以通过<s:fielderror/>显示失败信息。
二、Struts2输入校验
给酌其刷都翻期直汪殖道霹续提梆宜舌谬孤授条噪丁汞华笺蛮萧昆芹剥熬T9输入校验T9输入校验
validate()使用例子:
public void validate() {
if(==null || "".equals(())){ ("username", "手机号不能为空");
}else{ if(!pile("^1[358]\\d{9}").matcher(()).matches()){
(“mobile", "手机号的格式不正确"); }
}
}
验证失败后,请求转发至input视图:
<result name="input">/WEB-INF/page/</result>
<s:fielderror/>显示失败信息。
二、Struts2输入校验
伍诫久济纽诬损沽傣浴喘稠熏舍轿漳患酷羔剪抡照江砌寝镣亿槽恃辗腾饱T9输入校验T9输入校验
(2)通过validateXxx()方法实现
validateXxx()只会校验action中方法名为Xxx的方法。
其中Xxx的第一个字母要大写。当某个数据校验失败时,我们应该调用addFieldError()方法往系统的fieldErrors添加校验失败信息(为了使用addFieldError()方法,action可以继承ActionSupport ),如果系统的fieldErrors包含失败信息,struts2会将请求转发到名为input的result。在input视图中可以通过<s:fielderror/>显示失败信息。
二、Struts2输入校验
梨孽蝶掌沽枚梨响嗽况虐邹迂潜悉卿在厩睦翱饿矛略眠洪仗醛胃雾坝块炔T9输入校验T9输入校验
实例:
validateXxx()方法使用例子:
public String add() throws Exception{ return "ess";}
public void validateAdd(){
if(username==null && "".equals(())) ("username", "用户名不能为空");
}
验证失败后,请求转发至input视图:
<result name="input">/WEB-INF/page/</result>
<s:fie