问题:
oldbig说:
引用
我在user-validation.xml中定义了如下的验证规则
<field name="user.age">
<field-validator type="required">
<message key="errors.required"/>
</field-validator>
<field-validator type="int">
<param name="min">1</param>
<param name="max">99</param>
<message key="errors.integer"/>
</field-validator>
</field>
其中验证规则是:age必须是一个整数,并且必填,并且必须是在1-99之间。
errors.required以及errors.integer都在配置属性文件中定义好了。
页面设置及action的设置都是一般的设置,在页面操作时出现如下情况:
1.当我在age栏内不填时,显示errors.required所代表的信息,正常;
2.当age栏内填写180(超出范围)时,显示errors.integer的信息,也正常;
3.但当我在age栏内填写gg(字符串)时,则显示Invalid field value for field "user.age".这不是我自己定义的。而且messager里似乎还有一条errors.required的信息。
我的问题是:如何定义用户输入非数字时显示的信息呢?我试着把<param name="min">1</param>以及 <param name="max">99</param>删掉,这时没有了范围的限制,但是输入非数字时,显示的还同3的结果一样。
哪位朋友能不能帮我解决一下这个问题?
办法:
wocienyoung说:
引用
java代码:
<field-validator type="regexp" short-circuit="true">
<param name="expression">(^[a-z]+$)</param>
<message>${getText('city.name')} ${getText('error.format')}</message>
</field-validator>
java代码:
<validator name="regexp" class="RegexpFieldValidator"/>
java代码:
import com.opensymphony.xwork.validator.ValidationException;
import com.opensymphony.xwork.validator.validators.FieldValidatorSupport;
public class RegexpFieldValidator extends FieldValidatorSupport {
private String expression;
public void validate(Object object) throws ValidationException {
String fieldName = getFieldName();
Object value = this.getFieldValue(fieldName, object);
// if there is no value - don't do comparison
// if a value is required, a required validator should be added to the field
if (value == null)
return;
if (!(value instanceof String) || !((String) value).matches(expression)) {
addFieldError(fieldName, object);
}
}
public String getExpression() {
return expression;
}
public void setExpression(String expression) {
this.expression = expression;
}
}
http://forum.iteye.com/viewtopic.php?t=13338
http://forum.iteye.com/viewtopic.php?t=9126
分享到:
相关推荐
在Webwork中,数据验证是非常重要的一环,它确保了用户输入的数据符合应用的要求,从而提高了数据的安全性和一致性。数据验证分为客户端验证和服务器端验证,这两者都是保证数据质量不可或缺的部分。 **客户端验证*...
在"webwork-register"这个项目中,WebWork可能用于处理用户注册过程中的各种操作,如表单提交、数据验证和业务逻辑处理。 Spring框架是一个全面的企业级应用开发框架,它不仅提供了IoC(控制反转)和AOP(面向切面...
WebWork是一个流行的Java Web框架,它提供了强大的动作框架和验证机制。然而,在实际应用中,有时可能会遇到一个问题,即客户端验证提示信息会重复多次显示,这不仅影响用户体验,也可能暴露出潜在的代码问题。本文...
WebWork验证框架是一种用于Java Web应用的验证工具,它整合在XWork核心库中,主要目的是在Action执行前对用户输入的数据进行有效性检查。WebWork验证框架提供了多种灵活且强大的特性,使得数据验证过程变得更加简单...
WebWork登录逻辑验证是任何Web应用程序中的关键部分,它确保只有合法用户能够访问受保护的资源。 在WebWork中,登录过程通常涉及到以下几个步骤: 1. **请求处理**:当用户尝试登录时,他们通常会填写包含用户名和...
8. **插件系统**:WebWork支持插件扩展,开发者可以方便地添加自定义功能,如验证、缓存管理等。 9. **配置管理**:WebWork的配置文件(如struts-config.xml)用于定义动作、结果、数据源等,这使得配置信息集中...
WebWork 提供了强大的动作(Action)处理、类型转换、拦截器(Interceptor)机制和丰富的验证功能,帮助开发者构建可维护、可扩展的 Web 应用程序。 在 WebWork 中,配置是至关重要的,因为它定义了框架如何工作...
2. 数据验证(Validation):WebWork2提供了强大的数据验证机制,可以通过注解或XML配置文件定义验证规则,确保输入数据的有效性。 3. 国际化与本地化(i18n/L10n):WebWork2支持多语言环境,通过资源文件管理不同...
本篇将详细介绍WebWork中的核心概念——拦截器(Interceptor)以及验证(Validation)机制,并结合提供的帮助文档进行学习指导。 首先,我们来理解WebWork的拦截器机制。在WebWork中,拦截器是处理请求的关键组件,...
3. Interceptors(拦截器):拦截器是WebWork2.0的一个强大功能,允许在Action调用前后插入自定义逻辑,如权限验证、日志记录等。 二、WebWork2.0主要特性 1. 智能表单绑定:WebWork2.0支持自动将HTTP请求参数绑定...
3. **拦截器(Interceptors)**:WebWork 使用拦截器来执行一些预处理或后处理任务,如权限验证、日志记录等。拦截器可以在Action执行前后插入自定义逻辑,增强了系统功能的灵活性。 4. **异常处理**:WebWork 提供...
当表单提交时,WebWork会针对每个字段执行验证。相反,Model-Driven Action将整个对象模型作为操作单位,模型对象包含所有相关属性,这样可以实现更复杂的数据关联验证。 **ActionContext(Action上下文)** ...
6. **请求参数(Parameters)**:WebWork提供了多种方式处理请求参数,包括自动类型转换、参数验证和安全防护。理解参数绑定机制有助于构建健壮的Web应用。 7. **视图技术**:WebWork可以与多种视图技术集成,如JSP...
`Interceptor`是WebWork中的另一个关键概念,它允许在Action执行前后插入自定义逻辑,例如验证、日志记录、性能监控等。 WebWork的类型转换功能是其一大亮点,它可以自动将HTTP请求参数转换为Action类的属性类型,...
Webwork2 提供了强大的数据绑定功能,允许开发者将表单字段直接映射到动作类的属性,极大地简化了输入验证和数据处理。通过注解或XML配置,可以定义数据类型的转换器和验证规则。 **4. 异常处理** Webwork2 具有...
3. **Interceptors(拦截器)**:WebWork2引入了拦截器的概念,它们在Action执行前后执行,可以用于日志记录、事务管理、权限验证等。拦截器的使用使得代码更易于组织和复用。 4. **动态方法调用(Dynamic Method ...
WebWork的拦截器(Interceptor)框架和验证框架也是教程的重要内容,它们允许开发者在运行时添加额外的行为和验证逻辑。 WebWork还强调了与其他开源项目集成的能力,如Spring、Hibernate和Xml-RPC。这些集成让...
- WebWork提供了内置的验证框架来简化表单验证过程。 - 可以为Action添加验证规则,自动验证用户的输入数据。 - **XWork配置文件**: - xwork.xml是WebWork的核心配置文件,用于定义Action、拦截器、结果类型等...