Validator框架中的ValidatorForm和DynaValidatorForm使用区别
来源:互联网 发布:勇士队格林t袖淘宝 编辑:程序博客网 时间:2024/06/06 03:07
我在使用DynaValidatorForm和ValidatorForm时出现问题
使用动态的form(DynaValidator)时,没用什么特别的,先说说使用它的具体例子:
此例子只有一个name属性的requiredt验证,
1. 先建立动态的Form:
在Struts的配置文件中关于动态Form的配置
<form-beans>
<form-bean name="valiForm"
type="org.apache.struts.validator.DynaValidatorForm">
<form-property name="name" type="java.lang.String" />
</form-bean>
</form-beans>
2.建立一个Action,只有跳转的功能:
在struts配置文件中关于Action的配置:
<action attribute="valiForm" input="/vali.jsp" name="valiForm"
path="/vali" scope="request"
type="com.zyl.struts.action.ValiAction">
<forward name="success" path="/welcome.jsp" />
</action>
在ValiAction的execute()方法中:
return mapping.findForward("success");
3 .在struts配置文件中添加对Validator插件的声明:
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames"
value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" />
</plug-in>
4 validation.xml验证规则:全部代码如下
<!DOCTYPE form-validation PUBLIC
"-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1.3//EN"
"http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd">
<form-validation>
<!--
This is a minimal Validator form file with a couple of examples.
-->
<global/>
<formset>
<!-- An example form -->
<form name="valiForm">
<field property="name" depends="required">
<arg key="lable.name" />
</field>
</form>
</formset>
</form-validation>
5. 资源文件的内容
# Resources for parameter 'com.yourcompany.struts.ApplicationResources'
name=Name
# Project StrutsValidate1
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.
6 vali.jsp
<%@ page language="java" pageEncoding="utf-8"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean"
prefix="bean"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html"
prefix="html"%>
<html>
<head>
<title>JSP for DynaValidatorForm form</title>
</head>
<body>
<html:form action="/vali">
name : <html:text property="name" />
<html:errors property="name" />
<br />
<html:submit />
<html:cancel />
</html:form>
</body>
</html>
7. welcome.jsp
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<html>
<head>
<title>My JSP '/welcome.jsp' starting page</title>
</head>
<body>
welcome you!
</body>
</html>
测试成功没有问题,但再建一个工程使用ValidatorForm时,就不经过验证就跳转了(其他配置不变)。可见两种form的使用是不一样的,同学给了个例子,实现前台生成javaScript代码验证,配置只有Form的类型和第一部分的配置不一样,其他都相同,还有就是把vali.jsp改为:
<%@ page language="java" pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean"
prefix="bean"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html"
prefix="html"%>
<html>
<head>
<title>JSP for ValiForm form</title>
</head>
<body>
<html:javascript formName="valiForm" staticJavascript="true"
dynamicJavascript="true" />
<html:form action="/vali" method="post" focus="name"
onsubmit="return validateValiForm(this);">
name : <html:text property="name" />
<html:errors property="name" />
<br />
<html:submit />
<html:cancel />
</html:form>
</body>
</html>
还有把Struts配置文件中的Action中 validate="false"
测试就可以了
- Validator框架中的ValidatorForm和DynaValidatorForm使用区别
- ValidatorActionForm,ValidatorForm和ActionForm之间的区别
- struts1中的validator框架
- 如何使用Validator框架
- validator框架简单使用
- ValidatorActionForm,ValidatorForm和ActionForm
- ValidatorActionform ,ValidatorForm ,ActionForm 的区别
- Validator验证框架的使用
- Struts中使用Validator框架
- Validator 验证框架使用心得
- Struts中使用Validator框架
- Validator验证框架使用教程
- Struts Validator 框架的使用
- Struts Validator 框架的使用
- 使用JFinal框架中Validator
- Javad的Validator框架使用
- 使用JFinal框架中Validator
- Hibernate-validator校验框架使用
- 支持FAT32和NTFS的引导扇区源码http://www.x86asm.com/DisplayArticle.asp?BoardID=4&ArticleID=148
- 再随笔
- 使用const 提高函数的健壮性
- Web Service 中的身份验证策略
- 两人世界与三架马车
- Validator框架中的ValidatorForm和DynaValidatorForm使用区别
- 【翻译】被占用文件操作三法
- 有一种记忆叫光荣——感人的老兵退伍留言集
- ORACLE 9I安装参考
- 卸载破解安装vs2005
- 安装Oracle注意事项和重装步骤
- 专家看台:程序员太幸福了,想做管理很危险
- SQLite研究——性能优化
- 函数的引用返回值