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

注解验证

@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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值