`
soaring
  • 浏览: 17196 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Validator服务器端时间验证和时间转换问题

阅读更多
我使用validator进行时间验证,格式为yyyy-MM-dd,datePatternStrict和mask都用过了,总是不成功,启用了validator的客户端验证,有时候是客户端能够通过,服务器端不能通过。

基本配置应该没问题,jar包,validation.xml和validator-rules.xml都是从struts1.2.8中struts-blank包里拷过来的,应该不会是版本问题,页面中的Email和所有属性的required可以验证,就是date和double型不能验证成功。

另:之前我在struts-config.xml中注册了一个时间转换插件,会不会和这个有关系?
相关代码如下:

DateConvert.java
public class DateConvert
	implements Converter
{

	static SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");

	public DateConvert()
	{
	}

	public Object convert(Class type, Object value)
	{
		if (value == null)
			return null;
		if (((String)value).trim().length() == 0)
			return null;
		if (!(value instanceof String))
			break MISSING_BLOCK_LABEL_50;
		return df.parse((String)value);
		Exception ex;
		ex;
		throw new ConversionException("输入的日期类型非法");
		throw new ConversionException("输入的不是字符类型");
	}

}


DateConvertPlugIn.java
 public class DateConvertPlugIn
	implements PlugIn
{

	public DateConvertPlugIn()
	{
	}

	public void destroy()
	{
		ConvertUtils.deregister();
	}

	public void init(ActionServlet arg0, ModuleConfig arg1)
		throws ServletException
	{
		ConvertUtils.register(new DateConvert(), java/util/Date);
	}
}


ConverterPlugIn.java
public class ConverterPlugIn
	implements PlugIn
{

	public ConverterPlugIn()
	{
	}

	public void init(ActionServlet servlet, ModuleConfig config)
		throws ServletException
	{
		ConvertUtils.register(new SqlDateConverter(null), java/sql/Date);
		ConvertUtils.register(new SqlDateConverter(null), java/sql/Timestamp);
	}

	public void destroy()
	{
		ConvertUtils.deregister();
	}
}


问题一:validator的验证时间是在什么时候,和这个时间转换类有冲突吗?
问题二:validator的验证和版本有关系吗?validator-rules.xml中提供的double和date等类型都有具体验证方法实现吗?
问题三:时间从页面到java再到数据库的转换过程是怎样的?我的理解是在页面是字符串,到java的date类型,再到数据库的date或datetime类型,但具体转换过程不清楚
分享到:
评论

相关推荐

    Struts Validator验证框架详细讲解.txt

    Struts Validator是Struts框架的一个扩展模块,用于处理客户端和服务器端的数据验证。相比于Struts内置的ActionForm Bean验证方式,Struts Validator提供了更灵活、更强大的验证功能,能够处理复杂的验证逻辑,并且...

    JSF 转换与验证 - 利用 JSF 的转换和验证框架来确保数据模型的完整性.rar

    验证可以在两个阶段进行:客户端验证(在浏览器中)和服务器端验证(在服务器上)。服务器端验证始终执行,而客户端验证可以提高用户体验,因为错误能立即反馈给用户。 验证器`Validator`接口是JSF验证的基础,...

    服务器端验证:使用了express-validator程序包。

    在开发Web应用时,服务器端验证是至关重要的一个环节,它确保了用户提交的数据符合预设的规则,防止恶意攻击并保证数据的准确性和安全性。Express-Validator是Node.js社区中一个广泛使用的中间件,专为Express框架...

    JSF 转换与验证 .rar

    JSF提供了一个强大的验证框架,支持客户端和服务器端验证。常见的验证包括非空检查、长度检查、格式检查(如邮箱、电话号码)等。 1. 预定义验证器:JSF内建了一些预定义的验证器,如`required`(非空验证)、`...

    JSF(转换器+验证器)

    2. 当用户在表单中输入数据后,JSF会调用相应的转换器将输入值转换为服务器端可处理的数据类型。 3. 自定义转换器可以通过实现`javax.faces.convert.Converter`接口或使用`@FacesConverter`注解来创建。 4. `...

    Hibernate Validator 6.1.7 中文文档

    Hibernate Validator 6.1.7.Final作为Jakarta Bean Validation 2.0的参考实现,支持Java 8及以上版本,通过注释和XML提供元数据源,提供了一种通用的、独立于特定应用层或编程模型的验证解决方案,广泛应用于服务器...

    Laravel开发-one-validator

    **Laravel 开发:将服务器端验证转换为客户端验证** 在 Laravel 框架中,数据验证是确保用户提交的数据符合预设规则的关键步骤。Laravel 提供了一套强大且灵活的验证机制,使得开发者可以方便地在服务器端进行数据...

    ASP.NET验证控件知识点

    `ClientValidationFunction`属性用于指定客户端验证函数,而`ServerValidationFunction`用于服务器端验证。 5. RegularExpressionValidator控件: 对于需要符合特定模式(如电子邮件地址、电话号码格式等)的输入,...

    前端开源库-alinex-validator

    2. **API数据校验**:在前后端分离的架构中,前端可以使用Alinex Validator预先对发送到服务器的数据进行验证,减少无效请求,提高系统性能。 3. **数据导入**:在数据导入功能中,Alinex Validator可以确保导入的...

    2022年优秀-ASPNET服务器端控件培训课件.pptx

    这些控件不仅提供了一种在服务器端处理用户交互的方式,还简化了开发过程,提高了代码的可维护性和复用性。在2022年的优秀ASP.NET服务器端控件培训中,主要涉及以下几个方面: 1. **Web窗体和服务器控件概述**: ...

    FormHelper:ASP.NET Core-将服务器端验证转换为客户端,而无需编写任何JavaScript代码。 (与流利验证兼容)

    它将服务器端验证转换为客户端端。 您也可以使用不带ajax的表单验证器。 与Fluent验证兼容(您可以将客户端验证支持添加到Fluent验证。) 安装 可以使用Nuget软件包管理器或dotnet CLI安装FormHelper。 包管理器...

    struts2验证框架简单示例

    Struts2验证框架简化了服务器端的输入验证,提供了一种声明式的方式定义验证规则。通过XML配置或注解,开发者可以快速地设置验证逻辑,从而确保应用程序的数据质量。了解并熟练运用这个框架,对于任何Java Web开发者...

    shale实现jsf客户端验证例子

    Shale是一个开源的Java库,它为JSF提供了一系列强大的功能,包括验证框架,可帮助开发者轻松地创建复杂的客户端和服务器端验证规则。 首先,我们需要理解JSF中的验证机制。JSF是一种用于构建Web用户界面的MVC(模型...

    验证框架事例

    为了实现客户端验证,Struts提供了一套JavaScript库,可以将服务器端验证规则转换为客户端脚本,从而在用户提交表单之前进行预验证,提高用户体验。 总的来说,`ValidatorDemo`是一个很好的学习资源,可以帮助...

    ASP.NET 2.0 服务器控件C#

    ASP.NET 2.0 服务器控件是Web开发中的核心组件,它们允许开发者在服务器端直接操作和控制页面上的元素。这些控件通过`runat="server"`属性标识,使得在C#等服务器端语言中可以访问和处理控件的事件和属性。ID属性...

    JavaScript_字符串验证.zip

    5. **异步验证**:对于需要服务器端验证的情况,可以使用`fetch`或`XMLHttpRequest`进行异步请求,确保用户输入的数据在服务器端也是有效的。 6. **错误提示**:验证失败时,应提供明确的错误消息,指导用户如何...

    ASP.NET应用教程

    它们通过添加`runat="server"`属性转换为服务器端控件,允许开发者在服务器端编程时对其进行操作。 2. Web服务器控件:这些控件提供更丰富的功能,如内置的验证、分页和数据绑定能力。例如,除了基本的HTML控件,...

    Spring-Validator-开源

    1. **服务器端验证**:当用户提交表单时,Spring-Validator会检查表单中的每个字段,根据预先定义的验证规则(如非空、长度限制、格式检查等)来判断输入是否合法。这些验证规则可以通过`@Valid`注解或者在JavaBeans...

    ASP.NET_WEB服务器控件.ppt

    在ASP.NET中,Web服务器控件是核心组件之一,它们允许开发者在服务器端处理用户交互,增强了动态网页的创建能力。 4.1 ASP.NET编程基础: 在开始ASP.NET开发时,首先要创建和打开Web站点。这可以通过集成开发环境...

    GWT2.3_API.zip_GWT 2.3.0 api_Validator gwt2.3_gwt api chm_gwt ap

    通过这个API,开发者可以更高效地处理前端验证,提高用户体验,同时减少服务器端的压力。 GWT API CHM文件是GWT 2.3.0的官方API文档,通常包含类库的详细说明、方法、属性、接口和示例。这种文档以Microsoft的帮助...

Global site tag (gtag.js) - Google Analytics