zoukankan      html  css  js  c++  java
  • struts2框架之输入校验(参考第二天学习笔记)

    输入校验:

    1. 分类
    客户端校验:javascript,它是用户体验而已,可以绕开。
    服务器端校验
    * 代码校验
    1). 要求Action必须继承ActionSupport
    2). 重写ActionSupport类的validate()方法。
    添加校验逻辑!
    > 如果出错,添加fielderror即可。
    * 配置校验

    2. 原理
    validation拦截器,会调用Action的validate()方法,我们自己编写的validate()方法,它会在校验失败时向当前Action中添加字段错误。
    workflow拦截器,它会查看当前Action是否存在错误,如果存在,跳转到input,我们必须为当前Action提供input结果


    -------------------------

    局部校验
    一个Action中可以有多个请求处理方法。每个请求处理方法应该拥有自己的校验方法,而且还要拥有自己的input结果。

    局部校验方法命名规则:validate请求处理方法名称(),例如请求处理方法的名称为login,那么它的校验方法名称为:validateLogin()

    如果同时提供了局部校验方法和全局校验方法,那么是先局部后全局。

    通常有局部就不要再定义全局校验。

    让局部校验都拥有自己的input结果。
    在请求处理方法上配置InputConfig,给出resultName成员,它来指定当前请求处理方法的独有的input结果。

     // 当login()方法的校验方法校验失败时,会跳转到loginInput结果,这说明我们需要在<action>中配置名为loginInput的<result>。
    @InputConfig(resultName="loginInput")
    public String login() {
    ...
    }

    ==================================
    ==================================
    ==================================


    xml 配置校验

    <action name="aaa" class="cn.itcast.MyAction"/>

    校验规则在Struts中都是类,每个校验类都叫校验器,每个校验器都有自己的validate()方法,即校验方法。
    我们只需要把值传递给它就可以完成校验。
    非空 requreid
    长度 stringlength --> 字符串,最大长度和最小长度
    日期 date
    int范围 int
    url url
    mail mail
    regex regex

    <field name="username">
    <field-validator name="requiredstring">
    <message>用户名不能为空!</message>
    </field-validator/>
    <field-validator name="stringlength">
    <param name="minLength">3</param>
    <param name="maxLength">10</param>
    <message>用户名必须在3 ~ 10之间!</message>
    </field-validator/>
    </field>

    全局校验
    1. 文件的位置:Action同包下
    2. 文件的名称:Action名称-validation.xml
    3. 文件的内容:已经知道了。

    ==================================

    XML的局部校验

    1. 文件的位置:Action同包下
    2. 文件的名称:Action名称-访问的<action>名称-validation.xml
    3. 文件的内容:同上。

  • 相关阅读:
    ecshop 浏览历史样式的修改
    onmouseover 执行 ToolTip 控件
    e​c​s​h​o​p​模​板​ l​b​i​文​件
    JS中 document.getElementById 对象
    JS CSS 网页 简单 右侧 悬浮
    css 简单 返回顶部 代码及注释说明
    php截取等长UFT8中英文混合字串
    Smarty中模板eq相等 ne、neq不相等, gt大于, lt小于
    iOS UI-集合视图(UICollectionView)
    iOS UI-表格控制器(UITableView)-基本使用
  • 原文地址:https://www.cnblogs.com/xyhero/p/9348755.html
Copyright © 2011-2022 走看看