WebWork的Validation

本文介绍了WebWork框架中的校验机制实现方式,包括自定义校验器的添加、校验器的启用配置及具体的校验规则定义。通过示例展示了如何在Web应用中为Action配置不同的数据类型校验。
WebworkWorkflowXML框架Servlet
WebWork依赖XWork的校验框架,在action执行之前,来启动对action的输入数据的校验规则的运用。
1,添加校验器,在/WEB-INF/class添加一个名为validators.xml,添加自定义校验器
xml 代码


<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0//EN"
"http://www.opensymphony.com/xwork/xwork-validator-1.0.dtd">

<validators>
<validator name="required" class="com.opensymphony.xwork.validator.validators.RequiredFieldValidator"/>
<validator name="requiredstring" class="com.opensymphony.xwork.validator.validators.RequiredStringValidator"/>
<validator name="int" class="com.opensymphony.xwork.validator.validators.IntRangeFieldValidator"/>
<validator name="double" class="com.opensymphony.xwork.validator.validators.DoubleRangeFieldValidator" />
<validator name="date" class="com.opensymphony.xwork.validator.validators.DateRangeFieldValidator"/>
<validator name="expression" class="com.opensymphony.xwork.validator.validators.ExpressionValidator"/>
<validator name="fieldexpression" class="com.opensymphony.xwork.validator.validators.FieldExpressionValidator"/>
<validator name="email" class="com.opensymphony.xwork.validator.validators.EmailValidator"/>
<validator name="url" class="com.opensymphony.xwork.validator.validators.URLValidator"/>
<validator name="visitor" class="com.opensymphony.xwork.validator.validators.VisitorFieldValidator"/>
<validator name="conversion" class="com.opensymphony.xwork.validator.validators.ConversionErrorFieldValidator"/>
<validator name="stringlength" class="com.opensymphony.xwork.validator.validators.StringLengthFieldValidator"/>
validators>
2,打开校验,在xwork定义interceptor,为需要开发校验的action开启拦截器,拦截器的校验范围
xml 代码

<interceptors>

<interceptor name="adminOnly" class="adminInterceptor"/>

<interceptor-stack name="defaultStack">
<interceptor-ref name="exception"/>
<interceptor-ref name="alias"/>
<interceptor-ref name="servlet-config"/>
<interceptor-ref name="prepare"/>
<interceptor-ref name="i18n"/>
<interceptor-ref name="chain"/>
<interceptor-ref name="model-driven"/>
<interceptor-ref name="fileUpload"/>
<interceptor-ref name="static-params"/>
<interceptor-ref name="params"/>
<interceptor-ref name="conversionError"/>
<interceptor-ref name="validation">
<param name="excludeMethods">cancel,execute,delete,edit,list,defaultparam>
interceptor-ref>
<interceptor-ref name="workflow">
<param name="excludeMethods">input,back,cancelparam>
interceptor-ref>
interceptor-stack>
<interceptor-stack name="validationWorkflowStack">
<interceptor-ref name="defaultStack"/>
<interceptor-ref name="validation"/>
<interceptor-ref name="workflow"/>
interceptor-stack>-->
<interceptor-stack name="fileUploadStack">
<interceptor-ref name="fileUpload"/>
<interceptor-ref name="defaultStack"/>
interceptor-stack>
<interceptor-stack name="adminCheck">
<interceptor-ref name="defaultStack"/>
<interceptor-ref name="adminOnly"/>
interceptor-stack>
interceptors>
3,校验规则,每个action类,指定在ActionName-validation.xml文件中,
xml 代码

<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN"
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">

<validators>
<field name="customerCreditDetails.customer.id">
<field-validator type="required">
<message key="errors.required"/>
field-validator>
<field-validator type="stringlength">
<param name="minLength">1param>
<param name="trim">trueparam>
<message key="errors.required"/>
field-validator>
field>
<field name="customerCreditDetails.amount">
<field-validator type="required">
<message key="errors.required"/>
field-validator>
<field-validator type="double">
<param name="minInclusive">1.0param>
<message key="errors.intLeast"/>
field-validator>
field>
<field name="customerCreditDetails.operateTime">
<field-validator type="required">
<message key="errors.required"/>
field-validator>
<field-validator type="date">
<message key="errors.required"/>
field-validator>
field>
<field name="customerCreditDetails.currencyType">
<field-validator type="required">
<message key="errors.required"/>
field-validator>
<field-validator type="int">
<param name="min">1param>
<message key="errors.required"/>
field-validator>
field>
<field name="customerCreditDetails.payType">
<field-validator type="required">
<message key="errors.required"/>
field-validator>
<field-validator type="int">
<param name="min">1param>
<message key="errors.required"/>
field-validator>
field>
>
这是简单验证
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值