Struts2 (四) 声明式验证(注解/xml)

来源:互联网 发布:什么是搜索擎优化 编辑:程序博客网 时间:2024/06/05 00:09

注解验证

@Namespace("/vald")public class ValdFormAction extends ActionSupport{   private UserInfo user;   @Validations(           requiredStrings={                   @RequiredStringValidator(fieldName="user.userName",message="声明式注解:用户名必填")               }           ,           stringLengthFields={                   @StringLengthFieldValidator(fieldName="user.userName",minLength="3",message="声明式注解:用户名长度大于1"),                   @StringLengthFieldValidator(fieldName="user.password",minLength="6",maxLength="6",message="声明式注解:密码长度必须是6位")           },           regexFields={                   @RegexFieldValidator(fieldName="user.age",regex="[0-9]+",message="声明式注解:年龄必须是数字")           }   )   @Action(value="/form",results={           @Result(name="success",type="dispatcher",location="/vald/form.jsp"),           @Result(name="input",type="dispatcher",location="/vald/form.jsp")   })   public String formSubmit(){        return "success";   }   public UserInfo getUser() {       return user;   }   public void setUser(UserInfo user) {       this.user = user;   }}

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>    <!-- name form对应的属性名称 -->   <field name="user.userName">       <!-- type表示对应的验证规则  定义的文件位于xwork-core-2.3.24.jar的       com.opensymphony.xwork2.validator.validators的default.xml文件中 -->       <field-validator type="requiredstring">           <!-- 出错后显示的消息 -->           <message>声明式xml方式2:用户名必填</message>       </field-validator>   </field>   <!-- 另一种配置方式  同上 -->   <validator type="requiredstring">       <param name="fieldName">user.userName</param>       <message>声明式xml:用户名必填</message>   </validator>   <!-- int规则实际是判断数字的范围         date规则实际是判断日期的范围         required 表示对象不能为空        requiredstring 表示字符串不能空        expression 通过表达式验证        url 判断参数是否是url连接 比如 http://aa.do        email 判断是否是邮件格式  比如 sss@ww.com        stringlength 判断字符串长度        regex 通过正则表达式验证   -->   <validator type="regex">       <param name="fieldName">user.age</param>       <param name="regex">[0-9]+</param>       <message>声明式xml:年龄必须是数字</message>   </validator>   <validator type="stringlength">       <param name="fieldName">user.password</param>       <param name="minLength">6</param>       <param name="maxLength">6</param>       <message>声明式xml:密码必须是6位</message>   </validator>   <validator type="expression">       <param name="expression"><![CDATA[user.password==user.repassword]]></param>       <message>声明式xml:两次输入密码不一致</message>   </validator></validators>
0 0
原创粉丝点击