struts 2 中的日期校验框架 无效

问题描述

<fieldname="birthday"><field-validatortype="date"><paramname="min">2000-01-01</param><paramname="max">2009-12-12</param><message>出生日期必须在${min}-${max}之间</message></field-validator></field>类似上面的校验框架在页面中的birthday是<s:textfield对于date类型的装换重新给定了DateConverter(网上拷贝的)类来进行转换。在文本框中输入1988-01-01但最后总是提示CaughtOgnlExceptionwhilesettingproperty'max'ontype'com.opensymphony.xwork2.validator.validators.DateRangeFieldValidator'.java.lang.NoSuchMethodException:setMax(java.lang.String)等信息真是搞不清楚了。。各位高手帮个忙啊~~

解决方案

解决方案二:
<message>出生日期必须在${min}-${max}之间</message>这个貌似是校验是字符串长度的,并不是校验日期的吧
解决方案三:
你的数据类型没转好setMax(java.lang.String)没有这个方法,只有setMax(java.util.Date),所以你一定要先成功转为Date型
解决方案四:
你的action类的birthday的类型是String吧,用日期校验器应该是Date类型
解决方案五:
loginSuccess
解决方案六:
好像默认先进行Date类型校验,成功后才进行日期范围校验
解决方案七:
画面输入日期格式:yyyy/MM/dd,你尝试一下。

时间: 2025-01-19 08:11:06

struts 2 中的日期校验框架 无效的相关文章

关于struts2.0中validation.xml校验框架的问题?

问题描述 我今天整合ssh项目的时候.弄了个注册页面,处理类是RegisterAction类.在类中没有覆盖validate方法,利用RegisterAction-validation.xml文件进行字段校验.可是测试的时候如果我多次提交错误信息,它就重复显示这些错误信息.一直累加下去..不会在提交前自动清空(比如覆盖validate方法中的clearErrorsAndMessages()方法..谁能告诉我这是哪的问题吗?小弟不甚感激! 解决方案 让RegisterAction类实现Prepar

基于AJAX技术实现Struts校验框架

ajax 提要 实时的数据校验是AJAX技术的重要优点之一,Struts校验框架通过加入这种技术进一步丰富了其MVC,从而使得Web应用程序的开发效果更接近于桌面应用程序. 一. 引言 校验框架的根本目的是实现域校验.在Web应用程序中有许多方法可以实现域校验,总体上可以分为两类:服务器端和客户端.其中,Struts校验框架是适合于基于Java的Web应用程序环境最好的框架之一.它可以使用服务器端校验来配置应用程序并且使用在校验过程(在请求处理期间激活)中生成的错误消息:而且它也可以通过在请求页

在Struts中使用Validator验证框架详解

Validatro框架以成为Jakarta的公共项目的一部分,可以从http://jakarta.apache.org/commons/下载单独的Validator框架,在Struts中已经呆了这个框架. Validator主要依赖两个jar包 Jakarta-oro.jar:-提供一组处理文本的类,具有文本替换.过滤.和分割功能. Commons-validator.jar:提供了一个简单.可扩展的验证框架,包含了通用的验证方法和验证规则. 在用Struts中用这个框架,需加入这两个包,用起来

在Python的Flask框架中使用日期和时间的教程

  这篇文章主要介绍了在Python的Flask框架中使用日期和时间的教程,包括对各个时区之间转换的一些处理,需要的朋友可以参考下 时间戳的问题 我们的微博应用的一个忽略了很久的问题就是日间和日期的显示. 直到现在,我们在我们的User和Post对象中使用Python它自己的方式来渲染时间对象,但这并不是一个好的解决方案. 考虑下这样的例子.我正在写这篇文章,此时正是12月31号下午3:54.我的时区是PST(或者你们更习惯的:UTC-8). 在Python解释器中运行,我得到下面输出: ? 1

BootStrap日期控件在模态框中选择时间下拉菜单无效的原因及解决办法(火狐下不能点击)_jquery

今天收到程序组提交的一个兼容BUG,在火狐中使用模态框加载日期控件时选择时间下拉菜单没有效果(不能点击),而在谷歌中却是好的, 排错思路: 1,在当前页面主层放置一个时间控件,测试通过 2,在ajax加载页放置一个时间控件,测试通过 3,在模态框最外层放置一个时间控件,不通过 主要原因是模态框与时间下拉菜单层级关系造成(z-index),因时间控件是收bootstrap的时间控件.js文件生成,所以导致在页面与css样式表中修改无效,网上有直接修改bootstrap的时间控件.js文件,然而bo

Java 简单校验框架

数据校验框架现状 在我们的方法入口后面,难免会有如下样子的代码: result.setSuccess(false); if (StringUtils.isBlank(bizOrder.getThirdOrder())) { result.setResultMessage("thirdOrder不能为空"); return result; } if(bizOrder.getThirdOrder().length() > 100){ result.setResultMessage(&

Struts 2中的constant配置详解_java

1.<constant name="struts.i18n.encoding" value="UTF-8" /> 指定Web应用的默认编码集,相当于调用 HttpServletRequest的setCharacterEncoding方法. 2.<constant name="struts.i18n.reload" value="false"/> 该属性设置是否每次HTTP请求到达时,系统都重新加载资源文

Struts2中validate数据校验的两种方法详解附Struts2常用校验器_java

 1.Action中的validate()方法 Struts2提供了一个Validateable接口,这个接口中只存在validate()方法,实现这个接口的类可直接被Struts2调用,ActionSupport类就实现了Vadidateable接口,但他的validate()方法是一个空方法,需要我们来重写. validate()方法会在execute()方法执行前执行,仅当数据校验正确,才执行execute()方法, 如错误则将错误添加到fieldErrors域中,如果定义的Action中

struts2中类型转换与校验功能比有什么区别????高手进!

问题描述 我学习struts2有一段时间了,我现在在理解的过程中,有一点疑问,希望大家彼此之间讨论一下!struts2中类型转换与校验功能相比,我个人认为在校验框架中我可以使用正则表达式足够去校验类型转换器的问题,比如类型转换Date类型的数据要求格式yyyy-mm-dd,我在这里我可以用正则表达式足够在检验校验,我觉得正则表达式足够强大,为什么用类型转换呢?有人能给我一个正式的解释吗?还是同意我的意见,可以用正则表达式,不需要用类型转换??? 解决方案 解决方案二:校验只是验证传来的参数合不合