首页 > 代码库 > 数据校验

数据校验

1、用execute()方法实现数据校验

      继承自ActionSupport类,重写execute()

 

2、用validate()方法实现数据校验

      继承ActionSupport类,该类实现了Validateable接口,该接口中定义了一个validate()方法,在自定义的Action类中重写validate()方法,如果校验表单输入域出现错误,则将错误添加到ActionSupport类的fieldErrors域中,然后通过OGNL表达式负责输出。

 

 

3、用validateXxx()方法实现数据校验

        在validate()方法中对数据验证是可以工作的,如果在字段非常多的情况下,而且每个字段又有很复杂的验证,那么我们的validate方法中的代码会越来越多。  针对特定的方法输入的数据的验证我们把他放到validateXxx方法中,Xxx是方法名的首字母大写形式

 

4、用struts2的验证框架实现数据校验

        ① 为什么要用验证框架:

      当验证规则比较复杂时,Action类的代码将变得很繁琐,假如我们要对电话号码的格式进行验证,是非常麻烦的

        ②验证框架的优点:

      Struts2中内置了一个验证框架,将常用的验证规则进行了编码实现,使用验证框架时,用户无需再进行编码,只要在外部配置文件中指定某个字段需要进行的验证类型,并提供出错误信息即可,从而大大减轻了开发者的负担,提高开发效率

        ③命名规范:

       1、文件的命名规则:

      ActionName-validation.xml,ActionName为需要校验的Action类名,如:UserAction-validation.xml

 

       2、文件存放路径:

      该文件与Action类的class文件位于同一个路径下

 

       3、文件格式:包括如下3个配置元素

       <field>: 为每一个需要校验的字段添加一个验证元素<field>,name属性表示要校验的字段名。

       <field-validator>: 使用该元素来指定校验规则,type属性为校验规则名

       <message>: 使用该元素来指定校验出错时要显示的标签,key属性指向资源文件中的标签名

 

 

 

 

 

常用验证规则:

 技术分享

 

 

 

实现数据校验的流程:  

 

 对输入的数据首先进行类型转换,并封装成Action属性

 

② 如果类型转换出现错误,就将错误提示保存到ActionContext,并封装到fieldError中

 

③ 类型转换执行完毕后,会根据项目的配置执行验证框架的校验,也可能通过执行validate()或者validateXxx()方法进行校验

 

④ 如果经过以上步骤都没有出现错误,那么将直接调用Action里用于处理用户请求的方法,然后根据结果类型转入相应的视图资源。一旦出现了错误,那么系统将直接返回输入数据的视图资源,后者通常由workflow拦截器处理

 

1、用execute()方法实现数据校验

      继承自ActionSupport类,重写execute()

 

2、用validate()方法实现数据校验

      继承ActionSupport类,该类实现了Validateable接口,该接口中定义了一个validate()方法,在自定义的Action类中重写validate()方法,如果校验表单输入域出现错误,则将错误添加到ActionSupport类的fieldErrors域中,然后通过OGNL表达式负责输出。

 

 

3、用validateXxx()方法实现数据校验

        在validate()方法中对数据验证是可以工作的,如果在字段非常多的情况下,而且每个字段又有很复杂的验证,那么我们的validate方法中的代码会越来越多。  针对特定的方法输入的数据的验证我们把他放到validateXxx方法中,Xxx是方法名的首字母大写形式

 

4、用struts2的验证框架实现数据校验

        ① 为什么要用验证框架:

      当验证规则比较复杂时,Action类的代码将变得很繁琐,假如我们要对电话号码的格式进行验证,是非常麻烦的

        ②验证框架的优点:

      Struts2中内置了一个验证框架,将常用的验证规则进行了编码实现,使用验证框架时,用户无需再进行编码,只要在外部配置文件中指定某个字段需要进行的验证类型,并提供出错误信息即可,从而大大减轻了开发者的负担,提高开发效率

        ③命名规范:

       1、文件的命名规则:

      ActionName-validation.xml,ActionName为需要校验的Action类名,如:UserAction-validation.xml

 

       2、文件存放路径:

      该文件与Action类的class文件位于同一个路径下

 

       3、文件格式:包括如下3个配置元素

       <field>: 为每一个需要校验的字段添加一个验证元素<field>,name属性表示要校验的字段名。

       <field-validator>: 使用该元素来指定校验规则,type属性为校验规则名

       <message>: 使用该元素来指定校验出错时要显示的标签,key属性指向资源文件中的标签名

 

 

 

 

 

常用验证规则:

 

 

 

实现数据校验的流程:  

 

 对输入的数据首先进行类型转换,并封装成Action属性

 

② 如果类型转换出现错误,就将错误提示保存到ActionContext,并封装到fieldError中

 

③ 类型转换执行完毕后,会根据项目的配置执行验证框架的校验,也可能通过执行validate()或者validateXxx()方法进行校验

 

④ 如果经过以上步骤都没有出现错误,那么将直接调用Action里用于处理用户请求的方法,然后根据结果类型转入相应的视图资源。一旦出现了错误,那么系统将直接返回输入数据的视图资源,后者通常由workflow拦截器处理

 

1、用execute()方法实现数据校验

      继承自ActionSupport类,重写execute()

 

2、用validate()方法实现数据校验

      继承ActionSupport类,该类实现了Validateable接口,该接口中定义了一个validate()方法,在自定义的Action类中重写validate()方法,如果校验表单输入域出现错误,则将错误添加到ActionSupport类的fieldErrors域中,然后通过OGNL表达式负责输出。

 

 

3、用validateXxx()方法实现数据校验

        在validate()方法中对数据验证是可以工作的,如果在字段非常多的情况下,而且每个字段又有很复杂的验证,那么我们的validate方法中的代码会越来越多。  针对特定的方法输入的数据的验证我们把他放到validateXxx方法中,Xxx是方法名的首字母大写形式

 

4、用struts2的验证框架实现数据校验

        ① 为什么要用验证框架:

      当验证规则比较复杂时,Action类的代码将变得很繁琐,假如我们要对电话号码的格式进行验证,是非常麻烦的

        ②验证框架的优点:

      Struts2中内置了一个验证框架,将常用的验证规则进行了编码实现,使用验证框架时,用户无需再进行编码,只要在外部配置文件中指定某个字段需要进行的验证类型,并提供出错误信息即可,从而大大减轻了开发者的负担,提高开发效率

        ③命名规范:

       1、文件的命名规则:

      ActionName-validation.xml,ActionName为需要校验的Action类名,如:UserAction-validation.xml

 

       2、文件存放路径:

      该文件与Action类的class文件位于同一个路径下

 

       3、文件格式:包括如下3个配置元素

       <field>: 为每一个需要校验的字段添加一个验证元素<field>,name属性表示要校验的字段名。

       <field-validator>: 使用该元素来指定校验规则,type属性为校验规则名

       <message>: 使用该元素来指定校验出错时要显示的标签,key属性指向资源文件中的标签名

 

 

 

 

 

常用验证规则:

 

 

 

实现数据校验的流程:  

 

 对输入的数据首先进行类型转换,并封装成Action属性

 

② 如果类型转换出现错误,就将错误提示保存到ActionContext,并封装到fieldError中

 

③ 类型转换执行完毕后,会根据项目的配置执行验证框架的校验,也可能通过执行validate()或者validateXxx()方法进行校验

 

④ 如果经过以上步骤都没有出现错误,那么将直接调用Action里用于处理用户请求的方法,然后根据结果类型转入相应的视图资源。一旦出现了错误,那么系统将直接返回输入数据的视图资源,后者通常由workflow拦截器处理

 

1、用execute()方法实现数据校验

      继承自ActionSupport类,重写execute()

 

2、用validate()方法实现数据校验

      继承ActionSupport类,该类实现了Validateable接口,该接口中定义了一个validate()方法,在自定义的Action类中重写validate()方法,如果校验表单输入域出现错误,则将错误添加到ActionSupport类的fieldErrors域中,然后通过OGNL表达式负责输出。

 

 

3、用validateXxx()方法实现数据校验

        在validate()方法中对数据验证是可以工作的,如果在字段非常多的情况下,而且每个字段又有很复杂的验证,那么我们的validate方法中的代码会越来越多。  针对特定的方法输入的数据的验证我们把他放到validateXxx方法中,Xxx是方法名的首字母大写形式

 

4、用struts2的验证框架实现数据校验

        ① 为什么要用验证框架:

      当验证规则比较复杂时,Action类的代码将变得很繁琐,假如我们要对电话号码的格式进行验证,是非常麻烦的

        ②验证框架的优点:

      Struts2中内置了一个验证框架,将常用的验证规则进行了编码实现,使用验证框架时,用户无需再进行编码,只要在外部配置文件中指定某个字段需要进行的验证类型,并提供出错误信息即可,从而大大减轻了开发者的负担,提高开发效率

        ③命名规范:

       1、文件的命名规则:

      ActionName-validation.xml,ActionName为需要校验的Action类名,如:UserAction-validation.xml

 

       2、文件存放路径:

      该文件与Action类的class文件位于同一个路径下

 

       3、文件格式:包括如下3个配置元素

       <field>: 为每一个需要校验的字段添加一个验证元素<field>,name属性表示要校验的字段名。

       <field-validator>: 使用该元素来指定校验规则,type属性为校验规则名

       <message>: 使用该元素来指定校验出错时要显示的标签,key属性指向资源文件中的标签名

 

 

 

 

 

常用验证规则:

 

 

 

实现数据校验的流程:  

 

 对输入的数据首先进行类型转换,并封装成Action属性

 

② 如果类型转换出现错误,就将错误提示保存到ActionContext,并封装到fieldError中

 

③ 类型转换执行完毕后,会根据项目的配置执行验证框架的校验,也可能通过执行validate()或者validateXxx()方法进行校验

 

④ 如果经过以上步骤都没有出现错误,那么将直接调用Action里用于处理用户请求的方法,然后根据结果类型转入相应的视图资源。一旦出现了错误,那么系统将直接返回输入数据的视图资源,后者通常由workflow拦截器处理

 //注册页面

<h2>用户注册</h2>
<!-- 取出所有错误信息 -->
<s:fielderror></s:fielderror>
<s:form action="ValidateXxx" method="post">
<s:textfield name="info.username" label="用户名"></s:textfield>
<br/>

<s:textfield name="info.password" label="密码"></s:textfield>
<br/>

<s:textfield name="okpwd" label="确认密码"></s:textfield>
<br/>

<s:submit value="http://www.mamicode.com/注册"></s:submit>

</s:form>

//根据action在struts.xml中找相应的action

<package name="default" namespace="/" extends="struts-default">


<!-- 测试execute方法 -->
<action name="execute" class="cn.happy.action.ExecuteAction">
<result name="success">success.jsp</result>
<result name="input">regist.jsp</result>
</action> 

<!-- 测试validate方法 -->
<action name="Validate" class="cn.happy.action.ValidateAction">
<result name="success">success.jsp</result>
<result name="input">regist.jsp</result>
</action>


<!-- 测试validateXxx方法 -->
<action name="ValidateXxx" class="cn.happy.action.ValidateXxxAction" method="regist">
<result name="success">success.jsp</result>
<result name="input">regist.jsp</result>
</action>

</package>

数据校验