1、对Action中所有方法进行输入校验
通过重写validate()方法实现,validate()方法会校验action中所有与execute方法签名相同的方法。当某
个数据校验失败时,我们应该调用addFieldError()方法往系统的fieldErrors添加校验失败信息(为了使用
addFieldError()方法,action可以继承ActionSupport),如果系统的fieldErrors包含失败信息,struts2会将
请求转发到名为input的result。在input视图中可以通过<s:fielderror/>显示失败信息。
validate()使用例子:
publicvoid validate(){
if(this.mobile==null||"".equals(this.mobile.trim())){
this.addFieldError("username","手机号不能为空");
}else{
if(!Pattern.compile("^1[358]\\d{9}").matcher(this.mobile.trim()).matches()){
this.addFieldError("mobile","手机号的格式不正确");
}}
}
2、对action指定方法进行校验
3、基于XML配置方式实现对action的所有方法进行校验
Struts 2 中的每个Action都可以有一个验证文件,该验证文件与Action处于同目录中。
4、基于XML配置方式实现对指定action方法校验
- 5楼emoven1小时前
- 补充一点 当在验证时如果调用了addFieldError()方法。一般是返回一个 input 的 result 字符串;如果需要返回其他的字符串,可以在方法开头加上@InputConfig(resultName="error")就会返回一个 error 字符串。
- 4楼liqudanlove3天前 22:44
- 不错 顶一个
- 3楼xiaowenit3天前 22:33
- 刚开始学习数据效验
- 2楼liqudanlove3天前 22:24
- 楼上那位的问题提的不错
- 1楼xiaowenit3天前 15:49
- 在浏览器不是会有数据效验吗
- Re: emoven3天前 22:18
- 回复xiaowenitn有些程序可能绕过浏览器的验证