科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件WebWork的强大的验证器(2)

WebWork的强大的验证器(2)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

三、定义校验规则

作者:中国IT实验室 来源:中国IT实验室 2007年8月21日

关键字: WebWork

  • 评论
  • 分享微博
  • 分享邮件

三、定义校验规则
<!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="name">
        
<!--必添-->
        
<field-validator type="requiredstring">
            
<!--是否使用trim-->
            
<param name="trim">true</param>
            
<!--提示的错误信息-->
            
<message>You must enter a name</message>
        
</field-validator>
    
</field>
    
<field name="currDate">
        
<field-validator type="date">
            
<!--最小时间-->
            
<param name="min">01/01/2007</param>
            
<!--最大时间-->
            
<param name="max">02/28/2007</param>
            
<!--提示的错误信息-->
            
<message>
                The date must be between 
01-01-2007 and 02-28-2007.
            
</message>
        
</field-validator>
    
</field>
    
<field name="url">
        
<!--short-circuit是否短路检验,类似&&运算的短路算法-->
        
<field-validator type="required" short-circuit="true">
            
<!--提示的错误信息-->
            
<message>You must enter a value for url.</message>
        
</field-validator>
        
<!--webwork提供的url验证-->
        
<field-validator type="url" short-circuit="true">
            
<!--提示的错误信息-->
            
<message>Not a valid url.</message>
        
</field-validator>
    
</field>
    
<field name="mail">
        
<field-validator type="required">
            
<message>You must enter a value for 邮件.</message>
        
</field-validator>
        
<!--mail的验证,验证器由webwork提供-->
        
<field-validator type="email">
            
<message>Not a valid 邮件.</message>
        
</field-validator>
    
</field>
    
<field name="age">
        
<field-validator type="int">
            
<!--同样的最大最小值-->
            
<param name="min">1</param>
            
<param name="max">200</param>
            
<message>
                
<!--注意这里,msn中可以用表达式取出值栈中的值例如${min}-->
                Only people ages $
{min} to ${max} may be true,otherwise
                you are a ghost
            
</message>
        
</field-validator>
    
</field>
    
<field name="desc">
        
<field-validator type="requiredstring">
            
<param name="trim">true</param>
            
<message>You must enter a desc</message>
        
</field-validator>
        
<field-validator type="stringlength">
            
<param name="minLength">1</param>
            
<param name="maxLength">10</param>
            
<!--从属性文件中取出my.key显示,如果取不到my.key就显示
            You must enter a desc length
=10(my.key)-->
            
<message key="my.key">
                You must enter a desc length
=10(my.key)
            
</message>
        
</field-validator>
        
<!--可以使用正则表达式-->
        
<field-validator type="regex">
            
<param name="expression">
                
<![CDATA[([a-z][0-9][A-Z][x])]]>
            
</param>
            
<!--message可以由固定的字符串,值栈中的值${desc}以及通过调用方法取到的
            属性文件中的值$
{getText('my.key')}-->
            
<message>
                
"regex error ${getText('my.key')} ${desc}"
            
</message>
        
</field-validator>
    
</field>
    
<!--上边的验证叫字段验证,下边这些验证叫普通验证,普通验证是优于字段验证的。
    在使用短路的时候要小心
-->
    
<!--上边那些都是基于字段的验证,这个是基于Action的验证
    如果要在页面显示这些消息,需要加入
<ww:actionError/>
    
-->
    
<validator type="expression">
        
<!--可以基于表达式的验证name.equals(desc)-->
        
<param name="expression">name.equals(desc)</param>
        
<message>name not the same as desc</message>
    
</validator>
    
<!-- Plain Validator 2 -->
    
<!--可以基于表达式的验证mail.startsWith('mark')-->
    
<validator type="expression" short-circuit="true">
        
<param name="expression">mail.startsWith('mark')</param>
        
<message>Email does not start with mark</message>
    
</validator>
</validators>

 查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章