struts2校验框架之Visitor校验器

Visitor校验器主要用于检测Action里的复合属性,如一个Action里面包含了User类型的属性。
假设User类包含了username和password属性,为了验证Action里User类的username和password属性输入值是否有效,就可以使用Visitor校验器。
通常情况下可以使用[action名]+[- 方法名(是struts.xml配置中的别名)]+validation.xml来校验;如此例需要验证User类,则需要添加一个User-[上下文名]-validation.xml来配置,且User-[上下文名]-validation.xml文件必须与User类在同一个包中。

若Action名为AddUserAction,则校验文件名为AddUserAction-validation.xml,内容如下
<! DOCTYPE validators PUBLIC
        "-//OpenSymphony Group//XWork Validator 1.0.2//EN"
        "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd"
>

< validators >
         
<!--  校验的Action中的user类  -->
    
< field  name ="user" >
        
< field-validator  type ="visitor" >
                       
<!--  指定校验规则文件的context名为add,此名可任意取  -->
            
< param  name ="context" > add </ param >
        
<!--  指定校验失败后提示信息是否添加下面前缀,如果设置为false,则在标签对应的地方不显示错误,需要用fielderrors来显示  -->
            
< param  name ="appendPrefix" > true </ param >
                         
<!--  指定校验失败的提示信息前缀  -->
            
< message > 错误: </ message >
        
</ field-validator >
    
</ field >

</ validators >

然后在User类所在包建立名为User-add-validation.xml(add为上面 < param  name ="context" > add </ param >中定议),内容如下
<! DOCTYPE validators PUBLIC
        "-//OpenSymphony Group//XWork Validator 1.0.2//EN"
        "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd"
>

< validators >

    
< field  name ="username" >
        
< field-validator  type ="requiredstring" >
            
< message > 用户名不能为空 </ message >
        
</ field-validator >
    
</ field >
    
< field  name ="password" >
        
< field-validator  type ="requiredstring" >
            
< message > 密码不能为空 </ message >
        
</ field-validator >
    
</ field >

</ validators >

经过以上设置,即可对action中的user进行验证了!
另:可以定义User-validation.xml来验证公共属性,定义了Visitor校验器后,会自动检查User-validation.xml中的公共规则,如Visitor诉求验器中只写message属性,则只进行公共属性验证。

转载于:https://www.cnblogs.com/netshuai/archive/2009/08/05/1539870.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值