方法一:(方法验证)对指定方法的数据进行校验:
1.在指定action(必须继承ActionSupport)中添加验证方法,命名规则:validate+验证的方法名
2.在Struts.xml中的action中配置验证返回界面
3.前台jsp页面显示验证提示
方法二:配置文件验证
1.新建数据校验文件:
ps:
a.此xml需要与当前要验证的action在同一个目录;
b.XML文件名称语法: actionClassName(action所属类的名称)-actionName(action在Struts配置文件中的名称)-validation.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
"-//Apache Struts//XWork Validator 1.0.3//EN"
"http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
<validators>
<!-- 验证的每一个字段用field表示 -->
<field name="user.userName">
<!-- 指定使用的验证器 -->
<field-validator type="requiredstring">
<!-- 验证失败的错误提示信息 -->
<message>用户名不能为空!</message>
</field-validator>
</field>
<!-- 验证pwd -->
<field name="user.pwd">
<!-- 非空 -->
<field-validator type="requiredstring">
<message>密码不能为空!</message>
</field-validator>
<!-- 长度 -->
<field-validator type="stringlength">
<param name="minLength">6</param>
<param name="maxLength">8</param>
<message>密码必须为6-8位!</message>
</field-validator>
</field>
<!-- 验证日期 -->
<field name="user.birth">
<field-validator type="date">
<message>日期格式不对!</message>
</field-validator>
</field>
<!-- 验证Email -->
<field name="user.email">
<field-validator type="email">
<message>邮箱格式错误!</message>
</field-validator>
</field>
</validators>
2.前台jsp界面(返回验证信息)
Struts2后台数据校验的特点:
数据提交后在服务器端验证
·防止绕过客户端验证提交的非法数据
·可以在服务器端处理数据前保证数据的合法性
Struts数据校验总结
通过方法:
1.重写validate() , 验证action所有方法
2.Validate+方法名(), 验证指定“方法名”的方法
通过xml配置文件:
1.验证所有方法: ActionClassName-validation.xml (ActionClassName--action对应的具体的类的名称)
2.验证指定方法: ActionClassName-actionName-validation.xml (actionName--action在Struts配置文件中对应的name的值)
代码验证
1.比较灵活,可以满足所有的需求.
2.比较繁琐,要写重复的验证判断逻辑!
适合: 表单字段较少的情况用!
XML验证:
1.通用,但不够灵活;
2.可以验证特定简单的业务。
适合: 验证表单字段较多,可以大大简化代码!