我使用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类型,但具体转换过程不清楚
分享到:
- 2008-08-08 09:20
- 浏览 967
- 评论(0)
- 论坛回复 / 浏览 (0 / 1404)
- 查看更多
相关推荐
Struts Validator是Struts框架的一个扩展模块,用于处理客户端和服务器端的数据验证。相比于Struts内置的ActionForm Bean验证方式,Struts Validator提供了更灵活、更强大的验证功能,能够处理复杂的验证逻辑,并且...
验证可以在两个阶段进行:客户端验证(在浏览器中)和服务器端验证(在服务器上)。服务器端验证始终执行,而客户端验证可以提高用户体验,因为错误能立即反馈给用户。 验证器`Validator`接口是JSF验证的基础,...
在开发Web应用时,服务器端验证是至关重要的一个环节,它确保了用户提交的数据符合预设的规则,防止恶意攻击并保证数据的准确性和安全性。Express-Validator是Node.js社区中一个广泛使用的中间件,专为Express框架...
JSF提供了一个强大的验证框架,支持客户端和服务器端验证。常见的验证包括非空检查、长度检查、格式检查(如邮箱、电话号码)等。 1. 预定义验证器:JSF内建了一些预定义的验证器,如`required`(非空验证)、`...
2. 当用户在表单中输入数据后,JSF会调用相应的转换器将输入值转换为服务器端可处理的数据类型。 3. 自定义转换器可以通过实现`javax.faces.convert.Converter`接口或使用`@FacesConverter`注解来创建。 4. `...
Hibernate Validator 6.1.7.Final作为Jakarta Bean Validation 2.0的参考实现,支持Java 8及以上版本,通过注释和XML提供元数据源,提供了一种通用的、独立于特定应用层或编程模型的验证解决方案,广泛应用于服务器...
**Laravel 开发:将服务器端验证转换为客户端验证** 在 Laravel 框架中,数据验证是确保用户提交的数据符合预设规则的关键步骤。Laravel 提供了一套强大且灵活的验证机制,使得开发者可以方便地在服务器端进行数据...
`ClientValidationFunction`属性用于指定客户端验证函数,而`ServerValidationFunction`用于服务器端验证。 5. RegularExpressionValidator控件: 对于需要符合特定模式(如电子邮件地址、电话号码格式等)的输入,...
2. **API数据校验**:在前后端分离的架构中,前端可以使用Alinex Validator预先对发送到服务器的数据进行验证,减少无效请求,提高系统性能。 3. **数据导入**:在数据导入功能中,Alinex Validator可以确保导入的...
这些控件不仅提供了一种在服务器端处理用户交互的方式,还简化了开发过程,提高了代码的可维护性和复用性。在2022年的优秀ASP.NET服务器端控件培训中,主要涉及以下几个方面: 1. **Web窗体和服务器控件概述**: ...
它将服务器端验证转换为客户端端。 您也可以使用不带ajax的表单验证器。 与Fluent验证兼容(您可以将客户端验证支持添加到Fluent验证。) 安装 可以使用Nuget软件包管理器或dotnet CLI安装FormHelper。 包管理器...
Struts2验证框架简化了服务器端的输入验证,提供了一种声明式的方式定义验证规则。通过XML配置或注解,开发者可以快速地设置验证逻辑,从而确保应用程序的数据质量。了解并熟练运用这个框架,对于任何Java Web开发者...
Shale是一个开源的Java库,它为JSF提供了一系列强大的功能,包括验证框架,可帮助开发者轻松地创建复杂的客户端和服务器端验证规则。 首先,我们需要理解JSF中的验证机制。JSF是一种用于构建Web用户界面的MVC(模型...
为了实现客户端验证,Struts提供了一套JavaScript库,可以将服务器端验证规则转换为客户端脚本,从而在用户提交表单之前进行预验证,提高用户体验。 总的来说,`ValidatorDemo`是一个很好的学习资源,可以帮助...
在构建动态网页和交互式Web应用程序的过程中,开发者常利用服务器端控件来简化任务并提高开发效率。在ASP.NET的框架下,HTML服务器控件和Web服务器控件扮演着至关重要的角色。它们不仅丰富了开发者的选择,也确保了...
ASP.NET 2.0 服务器控件是Web开发中的核心组件,它们允许开发者在服务器端直接操作和控制页面上的元素。这些控件通过`runat="server"`属性标识,使得在C#等服务器端语言中可以访问和处理控件的事件和属性。ID属性...
5. **异步验证**:对于需要服务器端验证的情况,可以使用`fetch`或`XMLHttpRequest`进行异步请求,确保用户输入的数据在服务器端也是有效的。 6. **错误提示**:验证失败时,应提供明确的错误消息,指导用户如何...
它们通过添加`runat="server"`属性转换为服务器端控件,允许开发者在服务器端编程时对其进行操作。 2. Web服务器控件:这些控件提供更丰富的功能,如内置的验证、分页和数据绑定能力。例如,除了基本的HTML控件,...
1. **服务器端验证**:当用户提交表单时,Spring-Validator会检查表单中的每个字段,根据预先定义的验证规则(如非空、长度限制、格式检查等)来判断输入是否合法。这些验证规则可以通过`@Valid`注解或者在JavaBeans...
在ASP.NET中,Web服务器控件是核心组件之一,它们允许开发者在服务器端处理用户交互,增强了动态网页的创建能力。 4.1 ASP.NET编程基础: 在开始ASP.NET开发时,首先要创建和打开Web站点。这可以通过集成开发环境...