第一部分:XML校验
一、在action的同名包下取名字相同的:action-validation.xml
二、在UserAction-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>
<注1:!DOCTYPE要根据下载的struts2版本:在xwork-core的jar包下,打开一个xwork-validator-版本.dtd文 件,将第一行的内容复制过来>
<注2:field中的name名字需要与action中的名字保持一致>
<注3:下图为struts2框架提供的校验数据类型>
第三、到action跳转的下个jsp页面中输出你的提示信息
用户名:<input type="text" name="user.userName">
<s:fielderror fieldName="user.userName"></s:fielderror>
<br/>
密码:<input type="text" name="user.pwd">
<s:fielderror fieldName="user.pwd"></s:fielderror>
<br/>
第二部分:逻辑处理的校验
一、在后台加入提示
this.addActionMessage("对不起,修改失败,日期内的教室被占用!");
this.addActionError("对不起,修改失败,日期内的教室被占用!");
this.addFieldError("error", "对不起,修改失败,日期内的教室被占用!");
二、在jsp页面输出后台传入的提示
<s:actionmessage />
<s:actionerror/>
<s:fielderror><s:param>error</s:param></s:fielderror>