`

struts2验证validation小结

阅读更多
要验证一个ACTION中的几个方法,可以在不验证的方法前面加上:@SkipValidation
能验证的type有:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
        "-//OpenSymphony Group//XWork Validator Config 1.0//EN"
        "http://www.opensymphony.com/xwork/xwork-validator-config-1.0.dtd">

<validators>
    <validator name="required" class="com.opensymphony.xwork2.validator.validators.RequiredFieldValidator"/>
    <validator name="requiredstring" class="com.opensymphony.xwork2.validator.validators.RequiredStringValidator"/>
    <validator name="int" class="com.opensymphony.xwork2.validator.validators.IntRangeFieldValidator"/>
    <validator name="long" class="com.opensymphony.xwork2.validator.validators.LongRangeFieldValidator"/>
    <validator name="short" class="com.opensymphony.xwork2.validator.validators.ShortRangeFieldValidator"/>
    <validator name="double" class="com.opensymphony.xwork2.validator.validators.DoubleRangeFieldValidator"/>
    <validator name="date" class="com.opensymphony.xwork2.validator.validators.DateRangeFieldValidator"/>
    <validator name="expression" class="com.opensymphony.xwork2.validator.validators.ExpressionValidator"/>
    <validator name="fieldexpression" class="com.opensymphony.xwork2.validator.validators.FieldExpressionValidator"/>
    <validator name="email" class="com.opensymphony.xwork2.validator.validators.EmailValidator"/>
    <validator name="url" class="com.opensymphony.xwork2.validator.validators.URLValidator"/>
    <validator name="visitor" class="com.opensymphony.xwork2.validator.validators.VisitorFieldValidator"/>
    <validator name="conversion" class="com.opensymphony.xwork2.validator.validators.ConversionErrorFieldValidator"/>
    <validator name="stringlength" class="com.opensymphony.xwork2.validator.validators.StringLengthFieldValidator"/>
    <validator name="regex" class="com.opensymphony.xwork2.validator.validators.RegexFieldValidator"/>
    <validator name="conditionalvisitor" class="com.opensymphony.xwork2.validator.validators.ConditionalVisitorFieldValidator"/>
</validators>


方式是:
<field name="username">
	<field-validator type="requiredstring">
		<message>用户名不能为空!</message>
	</field-validator>
</field>
<field name="xh">
        <field-validator type="required">  
            <message key="序号不能为空" />
        </field-validator>
	    <field-validator type="int">  
            <message key="int" />  
        </field-validator>  
        <field-validator type="conversion"> 
            <message>"序号"必须为整数!</message>  
        </field-validator>
    </field>

要和类型转换分开可以修改struts-default.xml的拦截器,也可以在struts.xml中增加一个拦截器屏蔽默认的拦截器
<package name="struts2" extends="struts-default">
	  <interceptors>   
            <interceptor-stack name="myinterceptor">   
                <interceptor-ref name="exception" />   
                <interceptor-ref name="alias" />   
                <interceptor-ref name="servletConfig" />   
                <interceptor-ref name="prepare" />   
                <interceptor-ref name="i18n" />   
                <interceptor-ref name="chain" />   
                <interceptor-ref name="debugging" />   
                <interceptor-ref name="profiling" />   
                <interceptor-ref name="scopedModelDriven" />   
                <interceptor-ref name="modelDriven" />   
                <interceptor-ref name="fileUpload" />   
                <interceptor-ref name="checkbox" />   
                <interceptor-ref name="staticParams" />   
                <interceptor-ref name="params">   
                    <param name="excludeParams">dojo\..*</param>   
                </interceptor-ref>   
                   
                <interceptor-ref name="validation">   
                    <param name="excludeMethods">   
                        input,back,cancel,browse   
                    </param>   
                </interceptor-ref>   
                <interceptor-ref name="workflow">   
                    <param name="excludeMethods">   
                        input,back,cancel,browse   
                    </param>   
                </interceptor-ref>   
            </interceptor-stack>   
        </interceptors>   
	  <default-interceptor-ref name="myinterceptor"></default-interceptor-ref>


资料:
http://www.iteye.com/topic/95620
分享到:
评论

相关推荐

    Struts2输入校验总结

    综上所述,Struts2的输入校验机制不仅支持基本的手动校验,还提供了高度可配置和扩展的验证框架,使得开发者能够根据应用的具体需求,灵活地实现各种校验逻辑,从而提升应用程序的质量和用户体验。

    Struts2 in action中文版

    10.1.2 Struts 2工作流中的验证框架 219 10.2 将动作关联到验证框架 222 10.2.1 使用ActionClass-validations.xml声明验证元数据 223 10.2.2 研究内建的验证器 226 10.3 编写自定义验证器 227 10.3.1 检查密码强度的...

    struts2 校验框架

    在Struts2中,验证规则通常被定义在一个XML文件中,例如本例中的`LoginAction-validation.xml`。该文件遵循特定的DTD(Document Type Definition)格式,用于描述验证规则的结构。 ```xml &lt;!DOCTYPE validators ...

    struts2培训教程

    #### 五、小结 Struts2作为一个成熟的Web应用框架,在企业级项目中有着广泛的应用。通过本教程的学习,读者不仅能够深入了解MVC架构模式,还能掌握如何利用Struts2构建高效稳定的Web应用程序。希望读者能够通过本...

    7 Struts 入门开发.doc

    小结** 通过这个简单的登录应用,我们了解了Struts的基本工作流程,包括配置、Action、Form Bean和视图的交互。这只是一个起点,Struts还有许多高级特性和插件,如Tiles、Struts Tiles、Validation框架等,可以...

    Struts+Spring+Hibernate练习(完整)

    #### 六、小结 通过本练习,我们不仅了解了如何使用 Struts、Spring 和 Hibernate 这三个框架来构建一个简单的 Web 应用,还掌握了如何进行表单验证和国际化支持等关键技能。这对于初学者来说是非常宝贵的实践经验...

Global site tag (gtag.js) - Google Analytics