struts-Validate框架(验证动态ActionForm)
来源:互联网 发布:用数据讲故事 pdf 编辑:程序博客网 时间:2024/05/29 15:34
jsp页面:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@taglib uri="http://struts.apache.org/tags-html" prefix="html"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>My JSP 'reg.jsp' starting page</title> </head> <body> <html:form action="/reg">姓名:<html:text property="cname"/><html:errors property="cname"/><br>email:<html:text property="email"/><html:errors property="email"/><br>电话:<html:text property="phone"/><html:errors property="phone"/><br>年龄:<html:text property="age"/><html:errors property="age"/><br> <html:submit/><html:cancel/><br> </html:form> </body></html>
web.xml的配置:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" "http://struts.apache.org/dtds/struts-config_1_3.dtd"><struts-config> <form-beans > <!-- 定义动态ActionForm --> <form-bean name="regForm" type="org.apache.struts.validator.DynaValidatorForm"> <form-property name="cname" type="java.lang.String" /> <form-property name="email" type="java.lang.String" /> <form-property name="phone" type="java.lang.String" /> <form-property name="age" type="java.lang.String"/> </form-bean> </form-beans> <global-exceptions /> <global-forwards /> <action-mappings > <action attribute="regForm" input="/reg.jsp" name="regForm" path="/reg" scope="request" type="com.yourcompany.struts.action.RegAction" cancellable="true" /> </action-mappings> <message-resources parameter="com.yourcompany.struts.ApplicationResources" /><!-- 以插件的形式,来注册框架中的验证文件 --> <plug-in className="org.apache.struts.validator.ValidatorPlugIn"> <set-property value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" property="pathnames"/> </plug-in></struts-config>
资源文件信息:
# Resources for parameter 'com.yourcompany.struts.ApplicationResources'# Project Prj9_1error.null={0} cannot be null;error.email=email is not correct!error.number={0} must be a number!error.int={0} must be a int!error.minlength=minlength of {0} is {1}error.maxlength=maxlength of {0} is {1}error.range={0}must between {1} and {2}
validation.xml:
<!DOCTYPE form-validation PUBLIC "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.3.0//EN" "http://jakarta.apache.org/commons/dtds/validator_1_3_0.dtd"><form-validation><!-- 在这里写验证 --><formset><!-- 写表单验证,可以写多个 --><form name="regForm"><!-- 验证某个表单,name是ActionForm的名字 --><!-- 验证属性 --><field property="cname" depends="required"><msg name="required" key="error.null"/><!-- key:消息key --><arg name="required" key="cname" resource="false"/><!-- key:参数值 --></field><field property="email" depends="email,required"><msg name="required" key="error.null"/><arg name="required" key="email" resource="false"/> <!-- key:参数值 --><msg name="email" key="error.email"/></field><field property="phone" depends="required,long,minlength,maxlength"><msg name="required" key="error.null"/><arg name="required" key="phone" resource="false"/> <!-- key:参数值 --><msg name="long" key="error.number"/><arg key="phone" name="long" resource="false"/><msg name="minlength" key="error.minlength"/> <arg key="phone" name="minlength" resource="false"/> <arg key="${var:minlength}" name="minlength" resource="false"/> <var><!-- 设定门限 --><var-name>minlength</var-name><!-- name是规定的 --><var-value>7</var-value></var><msg name="maxlength" key="error.maxlength"/><arg key="phone" name="maxlength" resource="false"/><arg key="${var:maxlength}" name="maxlength" resource="false"/><var><!-- 设定门限 --><var-name>maxlength</var-name><!-- name是规定的 --><var-value>10</var-value></var></field><field property="age" depends="required,integer,intRange"><msg name="required" key="error.null"/><arg key="required" name="required" resource="false"/><msg name="integer" key="error.int"/><arg key="age" name="integer" resource="false"/><msg name="intRange" key="error.range"/><arg key="age" name="intRange" resource="false"/><arg key="${var:min}" name="intRange" resource="false"/><arg key="${var:max}" name="intRange" resource="false"/><var><!-- 设置门限:规定,设定max,min就可以了 --><var-name>min</var-name><var-value>0</var-value></var><var><var-name>max</var-name><var-value>100</var-value></var></field></form></formset></form-validation>validator-rules.xml:
<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.--><!DOCTYPE form-validation PUBLIC "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.3.0//EN" "http://jakarta.apache.org/commons/dtds/validator_1_3_0.dtd"><!-- $Id: validator-rules.xml 481833 2006-12-03 17:32:52Z niallp $ This file contains the default Struts Validator pluggable validator definitions. It is contained in struts-core.jar, and should be referenced in the struts-config.xml under the plug-in element for the ValidatorPlugIn. <plug-in className="org.apache.struts.validator.ValidatorPlugIn"> <set-property property="pathnames" value="/org/apache/struts/validator/validator-rules.xml, /WEB-INF/validation.xml"/> </plug-in> These are the default error messages associated with each validator defined in this file. They should be added to your projects ApplicationResources.properties file or you can associate new ones by modifying the pluggable validators msg attributes in this file. # Struts Validator Error Messages errors.required={0} is required. errors.minlength={0} can not be less than {1} characters. errors.maxlength={0} can not be greater than {1} characters. errors.invalid={0} is invalid. errors.byte={0} must be a byte. errors.short={0} must be a short. errors.integer={0} must be an integer. errors.long={0} must be a long. errors.float={0} must be a float. errors.double={0} must be a double. errors.date={0} is not a date. errors.range={0} is not in the range {1} through {2}. errors.creditcard={0} is an invalid credit card number. errors.email={0} is an invalid e-mail address. Note: Starting in Struts 1.2.0 the default javascript definitions have been consolidated to commons-validator. The default can be overridden by supplying a <javascript> element with a CDATA section, just as in struts 1.1.--><form-validation> <global> <validator name="required" classname="org.apache.struts.validator.FieldChecks" method="validateRequired" methodParams="java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest" msg="errors.required"/> <validator name="requiredif" classname="org.apache.struts.validator.FieldChecks" method="validateRequiredIf" methodParams="java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest" msg="errors.required"/> <validator name="validwhen" msg="errors.required" classname="org.apache.struts.validator.validwhen.ValidWhen" method="validateValidWhen" methodParams="java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest"/> <validator name="minlength" classname="org.apache.struts.validator.FieldChecks" method="validateMinLength" methodParams="java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest" depends="" msg="errors.minlength" jsFunction="org.apache.commons.validator.javascript.validateMinLength"/> <validator name="maxlength" classname="org.apache.struts.validator.FieldChecks" method="validateMaxLength" methodParams="java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest" depends="" msg="errors.maxlength" jsFunction="org.apache.commons.validator.javascript.validateMaxLength"/> <validator name="mask" classname="org.apache.struts.validator.FieldChecks" method="validateMask" methodParams="java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest" depends="" msg="errors.invalid"/> <validator name="byte" classname="org.apache.struts.validator.FieldChecks" method="validateByte" methodParams="java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest" depends="" msg="errors.byte" jsFunctionName="ByteValidations"/> <validator name="short" classname="org.apache.struts.validator.FieldChecks" method="validateShort" methodParams="java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest" depends="" msg="errors.short" jsFunctionName="ShortValidations"/> <validator name="integer" classname="org.apache.struts.validator.FieldChecks" method="validateInteger" methodParams="java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest" depends="" msg="errors.integer" jsFunctionName="IntegerValidations"/> <validator name="long" classname="org.apache.struts.validator.FieldChecks" method="validateLong" methodParams="java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest" depends="" msg="errors.long"/> <validator name="float" classname="org.apache.struts.validator.FieldChecks" method="validateFloat" methodParams="java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest" depends="" msg="errors.float" jsFunctionName="FloatValidations"/> <validator name="double" classname="org.apache.struts.validator.FieldChecks" method="validateDouble" methodParams="java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest" depends="" msg="errors.double"/> <validator name="byteLocale" classname="org.apache.struts.validator.FieldChecks" method="validateByteLocale" methodParams="java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest" depends="" msg="errors.byte"/> <validator name="shortLocale" classname="org.apache.struts.validator.FieldChecks" method="validateShortLocale" methodParams="java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest" depends="" msg="errors.short"/> <validator name="integerLocale" classname="org.apache.struts.validator.FieldChecks" method="validateIntegerLocale" methodParams="java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest" depends="" msg="errors.integer"/> <validator name="longLocale" classname="org.apache.struts.validator.FieldChecks" method="validateLongLocale" methodParams="java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest" depends="" msg="errors.long"/> <validator name="floatLocale" classname="org.apache.struts.validator.FieldChecks" method="validateFloatLocale" methodParams="java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest" depends="" msg="errors.float"/> <validator name="doubleLocale" classname="org.apache.struts.validator.FieldChecks" method="validateDoubleLocale" methodParams="java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest" depends="" msg="errors.double"/> <validator name="date" classname="org.apache.struts.validator.FieldChecks" method="validateDate" methodParams="java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest" depends="" msg="errors.date" jsFunctionName="DateValidations"/> <validator name="intRange" classname="org.apache.struts.validator.FieldChecks" method="validateIntRange" methodParams="java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest" depends="integer" msg="errors.range"/> <validator name="longRange" classname="org.apache.struts.validator.FieldChecks" method="validateLongRange" methodParams="java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest" depends="long" msg="errors.range"/> <validator name="floatRange" classname="org.apache.struts.validator.FieldChecks" method="validateFloatRange" methodParams="java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest" depends="float" msg="errors.range"/> <validator name="doubleRange" classname="org.apache.struts.validator.FieldChecks" method="validateDoubleRange" methodParams="java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest" depends="double" msg="errors.range"/> <validator name="creditCard" classname="org.apache.struts.validator.FieldChecks" method="validateCreditCard" methodParams="java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest" depends="" msg="errors.creditcard"/> <validator name="email" classname="org.apache.struts.validator.FieldChecks" method="validateEmail" methodParams="java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest" depends="" msg="errors.email"/> <validator name="url" classname="org.apache.struts.validator.FieldChecks" method="validateUrl" methodParams="java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest" depends="" msg="errors.url"/> <!-- This simply allows struts to include the validateUtilities into a page, it should not be used as a validation rule. --> <validator name="includeJavaScriptUtilities" classname="" method="" methodParams="" depends="" msg="" jsFunction="org.apache.commons.validator.javascript.validateUtilities"/> </global></form-validation>
阅读全文
0 0
- struts-Validate框架(验证动态ActionForm)
- Struts中重写ActionForm中validate方法验证表单
- struts 1.2 validate 验证框架
- struts 动态验证框架
- Struts 结合 Validate框架验证详解
- Struts 结合 Validate框架验证详解
- struts的validate框架验证示例程序
- (Struts)动态ActionForm(转)
- Struts中的动态ActionForm
- 06-struts-动态ActionForm
- Struts---- 动态ActionForm
- struts静态动态ActionForm使用(二)—验证
- Struts的ActionForm表单验证
- Struts的ActionForm表单验证
- Struts 动态actionForm的使用
- Struts的动态ActionForm(DynaActionForm)
- struts validate验证
- Struts的validate框架是如何验证的?
- hdu2089 不要62 数位dp模板
- SSD: Single Shot MultiBoxDetector 论文翻译
- PowerDesigner修改name联动code问题
- UCT格式转换成CST格式
- DAHDI驱动源代码分析之五硬件初始化
- struts-Validate框架(验证动态ActionForm)
- linux dd命令
- Mysql一主一从配置
- Algorithm-1.1课后习题
- Children's Game UVA
- 实现一个栈,要求实现Push(出栈)、Pop(入栈)、Min(返回最小值的操作)的时间复杂度为O(1)
- [二分][spfa]通往奥格瑞玛的道路
- 问题
- Sublime Text自定义snippet