`

struts2 xml 校验 小记2

阅读更多

        相信很多的人都用过struts2的配置文件验证,说实话,这个服务端校验确实比较好,可以有效防止一些错误数据提交到数据库。这里要说的是当类型转换失败时,struts默认的提示信息就不那么友好了,所以我们需要重新为它添加国际化资源,即:

invalid.fieldvalue.model.serverId=设备ID必须为数值类型

前面这一串“invalid.fieldvalue”是固定的,后面的就是你的xml中指定的校验字段名称,我的校验xml是:

<field name="model.serverId"> 
     <field-validator type="required" short-circuit="true"> 
         <param name="trim">true</param> -->
         <message key="messages.validate.server.serverId.requied"></message> 
     </field-validator> 
     <field-validator type="int" short-circuit="true"> 
         <param name="min">1</param> -->
         <param name="max">9999999</param> -->
         <message key="messages.validate.server.serverId.range"></message> -->
     </field-validator> -->
</field> 

 加上以上友好的国家化资源信息后,当转型失败后,后台返回的错误信息就是 "设备ID必须为数值类型," 加上 “messages.validate.server.serverId.requied” 对应的国家化资源信息了;嗯???

等等,什么情况?信息提示是没有问题了,但是进入了第一个验证了,是不能为空的验证。查看strut-default.xml发现struts框架本身的机制就是,先转型,转型失败后加载错误信息,然后继续验证。

这里问题就来了,我不想转型失败后还傻不拉几的去验证,有没有可能转型失败后不去验证呢?不可以,这是struts的机制决定的。

所以我想到了在xml中接收转型失败后的错误信息,并给出相应的例子提示信息,即:

<field name="model.serverId"> 
 	<field-validator type="conversion" short-circuit="true">
  		<message key="messages.numerical.examples"></message>
 	</field-validator>
       <field-validator type="required" short-circuit="true">
           <param name="trim">true</param> 
            <message key="messages.validate.server.serverId.requied"></message>
       </field-validator> -->
        <field-validator type="int" short-circuit="true">
            <param name="min">1</param> 
           <param name="max">9999999</param>
           <message key="messages.validate.server.serverId.range"></message> 
      </field-validator>
</field> -->

 国家化资源信息中加入:

messages.numerical.examples=如:0,11,202
0
0
分享到:
评论

相关推荐

    Struts2输入校验总结

    ### Struts2输入校验深度解析 #### 一、手动输入完成校验 在Struts2框架中,输入校验是确保数据完整性和安全性的重要环节。对于手动输入完成校验,Struts2提供了灵活的机制。 1. **普通处理方式**:在Action类中...

    Struts2 校验器

    3. **配置校验规则**:Struts2的校验规则可以通过XML或注解方式定义。XML方式通常在struts.xml或相应的action类配置文件中定义,而注解方式则直接在Action类的属性上标注,例如使用`@RequiredString`、`@Size`等。 ...

    struts2官方例子7-表单验证 xml形式的验证

    总结起来,Struts2的XML表单验证是通过创建XML文件定义验证规则,然后在Action类中处理数据,通过框架自动进行验证并返回错误信息。这种方式使得验证逻辑与业务逻辑分离,提高了代码的可维护性和复用性。对于大型...

    struts2输入校验

    本文将深入探讨Struts2中的输入校验机制,以及如何对指定方法进行输入校验。 在Struts2中,输入校验通常分为两种方式:客户端校验和服务器端校验。客户端校验主要通过JavaScript在用户端进行,可以提供即时反馈,但...

    Ajax struts2 xml flex Ajax struts2 xml flex Ajax struts2 xml flex Ajax struts2 xml flex

    Ajax struts2 xml flex Ajax struts2 xml flex Ajax struts2 xml flex Ajax struts2 xml flex Ajax struts2 xml flex Ajax struts2 xml flex

    struts2输入校验深入总结

    Struts2集成了Apache Commons Validator,可以通过配置XML文件定义校验规则。在struts.xml文件中配置`&lt;validators&gt;`元素,然后在Action类中创建一个ValidatorForm对象,将表单字段映射到该对象的属性,即可应用预...

    Struts2中Struts.xml配置文件详解

    "Struts2 中 Struts.xml 配置文件详解" Struts2 中的 Struts.xml 配置文件是 Struts2 框架的核心配置文件,用于定义应用程序的行为和结构。在 Struts.xml 文件中,我们可以定义 package、action、interceptor、...

    Struts2数据校验与国际化

    3. 配置文件校验:除了代码实现外,Struts2还支持基于XML的配置文件进行校验。在struts.xml或相应的action配置中,可以定义field和global validation规则,这种方式更加灵活且易于维护。 接下来,我们谈谈Struts2的...

    Struts2的输入校验

    在Struts2中,输入校验是确保数据安全、准确和有效的重要环节。本篇文章将深入探讨Struts2的输入校验机制及其相关知识点。 **输入校验的重要性** 输入校验是Web应用开发中的关键步骤,它可以防止恶意用户提交无效或...

    Struts2校验框架应用

    Struts2作为一款流行的Java Web开发框架,提供了一套强大的校验框架,使得开发者能够方便地对用户输入数据进行验证,确保数据的准确性和安全性。本文将深入探讨Struts2校验框架的应用,包括其核心概念、配置方式、...

    Struts2自定义校验框架

    Struts2提供了内置的验证框架,允许开发者自定义校验规则,以满足特定业务需求。下面将详细介绍Struts2自定义校验框架的相关知识点。 1. **Struts2验证框架概述** Struts2的验证框架主要负责处理用户提交的数据,...

    Dom4j解析struts2框架的struts.xml

    在Struts2中,`struts.xml`是核心配置文件,它定义了应用的各个组件,如动作(Actions)、结果(Results)、拦截器(Interceptors)等。本篇文章将深入探讨如何使用Dom4j这个XML处理库来解析`struts.xml`,以便...

    struts2的输入校验

    开始添加LoginAction-validation.xml的校验内容,我主要是介绍struts2的校验有哪几种形式,具体的 校验格式,有多种,我就不一一介绍了,大家可以自已研究下。 把刚在LoginAction 里加的validate()去掉! 就OK了,...

    struts.xml(struts2配置)

    `struts.xml`是Struts2框架的核心配置文件,用于定义应用程序的行为、控制器、动作映射、结果类型和其他关键组件。下面我们将深入探讨`struts.xml`的各个方面。 1. **配置文件结构** `struts.xml`文件通常位于项目...

    struts.xml

    struts.xml文件配置解释,对action配置进行说明

    Struts2 输入校验

    Struts2集成Apache Commons Validator,允许开发者创建XML配置文件来定义校验规则。在这些XML文件中,你可以设置字段的校验规则,如长度、格式等。然后在Action类中声明对应的ActionForm,Struts2会基于这些规则进行...

    struts2 xml

    Struts2是一个强大的MVC框架,它以XML配置文件为核心,允许开发者定义应用程序的行为和结构。在Struts2中,XML配置文件(通常命名为struts.xml)是整个框架的基石,它负责设置Action、拦截器、结果页面以及其他关键...

Global site tag (gtag.js) - Google Analytics