`
xmx0632
  • 浏览: 119799 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

webwork的reg验证备抄

阅读更多
问题:
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中,数据验证是非常重要的一环,它确保了用户输入的数据符合应用的要求,从而提高了数据的安全性和一致性。数据验证分为客户端验证和服务器端验证,这两者都是保证数据质量不可或缺的部分。 **客户端验证*...

    webwork-register.rar_webwork_webwork 验证_webwork spring

    在"webwork-register"这个项目中,WebWork可能用于处理用户注册过程中的各种操作,如表单提交、数据验证和业务逻辑处理。 Spring框架是一个全面的企业级应用开发框架,它不仅提供了IoC(控制反转)和AOP(面向切面...

    解决webwork客户端验证提示信息重复多次显示问题

    WebWork是一个流行的Java Web框架,它提供了强大的动作框架和验证机制。然而,在实际应用中,有时可能会遇到一个问题,即客户端验证提示信息会重复多次显示,这不仅影响用户体验,也可能暴露出潜在的代码问题。本文...

    webwork验证框架

    WebWork验证框架是一种用于Java Web应用的验证工具,它整合在XWork核心库中,主要目的是在Action执行前对用户输入的数据进行有效性检查。WebWork验证框架提供了多种灵活且强大的特性,使得数据验证过程变得更加简单...

    webwork 登录逻辑验证(简单)

    WebWork登录逻辑验证是任何Web应用程序中的关键部分,它确保只有合法用户能够访问受保护的资源。 在WebWork中,登录过程通常涉及到以下几个步骤: 1. **请求处理**:当用户尝试登录时,他们通常会填写包含用户名和...

    webwork-1.4-src.zip_webwork_webwork s_webwork.zip_webwork1.4.zip

    8. **插件系统**:WebWork支持插件扩展,开发者可以方便地添加自定义功能,如验证、缓存管理等。 9. **配置管理**:WebWork的配置文件(如struts-config.xml)用于定义动作、结果、数据源等,这使得配置信息集中...

    WEBWORK

    WebWork 提供了强大的动作(Action)处理、类型转换、拦截器(Interceptor)机制和丰富的验证功能,帮助开发者构建可维护、可扩展的 Web 应用程序。 在 WebWork 中,配置是至关重要的,因为它定义了框架如何工作...

    webwork2开发指南

    2. 数据验证(Validation):WebWork2提供了强大的数据验证机制,可以通过注解或XML配置文件定义验证规则,确保输入数据的有效性。 3. 国际化与本地化(i18n/L10n):WebWork2支持多语言环境,通过资源文件管理不同...

    webwork拦截器,验证,以及帮助文档

    本篇将详细介绍WebWork中的核心概念——拦截器(Interceptor)以及验证(Validation)机制,并结合提供的帮助文档进行学习指导。 首先,我们来理解WebWork的拦截器机制。在WebWork中,拦截器是处理请求的关键组件,...

    WebWork2.0讲解说明

    3. Interceptors(拦截器):拦截器是WebWork2.0的一个强大功能,允许在Action调用前后插入自定义逻辑,如权限验证、日志记录等。 二、WebWork2.0主要特性 1. 智能表单绑定:WebWork2.0支持自动将HTTP请求参数绑定...

    webwork详细讲解.doc

    WebWork内置了强大的验证框架,可以轻松地为Action添加验证逻辑。例如,为用户注册功能添加验证规则,确保提交的数据符合预期格式。 #### XWork配置详述 XWork是WebWork的基础,其配置文件`xwork.xml`定义了Action...

    webwork

    3. **拦截器(Interceptors)**:WebWork 使用拦截器来执行一些预处理或后处理任务,如权限验证、日志记录等。拦截器可以在Action执行前后插入自定义逻辑,增强了系统功能的灵活性。 4. **异常处理**:WebWork 提供...

    WebWork教程开发资料

    当表单提交时,WebWork会针对每个字段执行验证。相反,Model-Driven Action将整个对象模型作为操作单位,模型对象包含所有相关属性,这样可以实现更复杂的数据关联验证。 **ActionContext(Action上下文)** ...

    WebWork docs 2 -- webWork 详细的说明文档

    6. **请求参数(Parameters)**:WebWork提供了多种方式处理请求参数,包括自动类型转换、参数验证和安全防护。理解参数绑定机制有助于构建健壮的Web应用。 7. **视图技术**:WebWork可以与多种视图技术集成,如JSP...

    webwork_框架文档

    `Interceptor`是WebWork中的另一个关键概念,它允许在Action执行前后插入自定义逻辑,例如验证、日志记录、性能监控等。 WebWork的类型转换功能是其一大亮点,它可以自动将HTTP请求参数转换为Action类的属性类型,...

    Webwork2开发指南

    Webwork2 提供了强大的数据绑定功能,允许开发者将表单字段直接映射到动作类的属性,极大地简化了输入验证和数据处理。通过注解或XML配置,可以定义数据类型的转换器和验证规则。 **4. 异常处理** Webwork2 具有...

    webWork2开发指南

    3. **Interceptors(拦截器)**:WebWork2引入了拦截器的概念,它们在Action执行前后执行,可以用于日志记录、事务管理、权限验证等。拦截器的使用使得代码更易于组织和复用。 4. **动态方法调用(Dynamic Method ...

    WebWork教程

    WebWork的拦截器(Interceptor)框架和验证框架也是教程的重要内容,它们允许开发者在运行时添加额外的行为和验证逻辑。 WebWork还强调了与其他开源项目集成的能力,如Spring、Hibernate和Xml-RPC。这些集成让...

Global site tag (gtag.js) - Google Analytics