struts2的表单验证 ,消息处理学习笔记

表单的验证

一.struts2 的验证有两种

  1.声明式验证 :
    1)对哪个Action 或 Model 的那个字段验证
    2) 使用什么验证规则
    3) 如果验证失败,调到哪个页面,显示什么消息
    
   2.编程式验证
   
  <一>
        (1)先明确对哪个Action字段进行验证:例 age
        (2)配置文件
     E:\web开发的一些例子和工具\各类架包\struts-2.3.16.3\apps\struts2-blank\WEB-INF\classes\example下的login_validation.xml
     login 改为 Action名字
         (3)编写规则:参见E:\web开发的一些例子和工具\各类架包\struts-2.3.16.3\docs下的
                    validation.html
         (4)在配置文件名中定义错误消息显示 
              <field name="username">
        <field-validator type="int">
          <param name="min">20</param>
          <param name="max">50</param>
          
           <message>age between ${min} to ${max}</message>
       </field-validator>
       </field>
 (5)该消息能呗国际化吗?
 
          <message key="error.int"></message>
  在键值对中(i18n.properties)   error.int = age between ${min} to ${max}
 或者 获取国际资源的关键字方法(用getText(关键字))。
 error.int =  ${getText(fieldName)} between ${min} to ${max}
     <二>若验证失败,则转向input的那个result,所配置的name = "input".
    
     <三>如何显示错误消息呢?
        >若是用的是非simple主题、则自动显示
        >若使用的是simple ,则要用  <s:fielderror fieldname="age"/> 标签 ,或直接用EL表达式${fieldErrors.age}
     <四>若是一个Action对应一个验证文件:  ActionclassName-validation.properties
                    每个不同的Action对应不同的验证文件: ActionclassName-AliasName-validation.properties
     <五> Struts2默认了一个拦截器 validation
          >每个具体的验证规则都对应这一个验证器                   
      <六> 短路验证:            
                    <field name="username">
        <field-validator type="conversion" short-circiut="true"> 
                   <message>age between ${min} to ${max}</message>  
                    </field-validator>
                     
                     
        <field-validator type="int">
          <param name="min">20</param>
          <param name="max">50</param>
           <message>age between ${min} to ${max}</message>
       </field-validator>
       

       </field>




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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值