stuts2表单验证的一些问题

    stuts2表单验证时,validation.xml的一些配置,需要注意以下几个方面:

一.关于验证的一些配置信息

1.validation.xml的文件名称一定要以Action名称开头,如:现在有个登录的LoginAction,那么在建验证xml文件时,validation.xml的名称为“LoginAction-validation.xml”。

2.验证的xml文件要和相应的action类放在同一文件夹下。

3.validation.xml文件中的<field-validator type="">标签的type属性,必须与VO中定义的属性的数据类型相同。

4.在struts.xml文件中的<action>标签中,必须包含<result name="input">和<result name="success" >,否则会报找不到页(404)。<?xml version="1.0" encoding="UTF-8" ?>

5.validation.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="username">  
   <!-- 验证字符串不能为空 -->  
   <field-validator type="requiredstring">  
    <!-- 去空格 -->  
    <param name="trim">true</param>  
    <!-- 错误提示信息 -->  
    <message>用户名不能为空</message>  
   </field-validator>  
    
   <!-- 验证字符串长度 -->  
   <field-validator type="stringlength">  
    <param name="minLength">2</param>  
    <param name="maxLength">20</param>  
    <message>用户名长度应在2到18个字符间</message>  
   </field-validator>  
</field>  
 
<field name="password">  
   <field-validator type="requiredstring">  
    <param name="trim">true</param>  
    <message>密码不能为空</message>  
   </field-validator>  
    
   <field-validator type="stringlength">  
    <param name="minLength">6</param>  
    <param name="maxLength">18</param>  
    <message>密码长度应在6到18个字符之间</message>  
   </field-validator>  
</field>  
 
<!--<field name="age">  
   <field-validator type="int">  
    <param name="min">1</param>  
    <param name="max">150</param>  
    <message>年龄应在1到150之间</message>  
   </field-validator>  
</field>  
 验证字符串为日期类型   
<field name="birthday">  
   <field-validator type="date">  
    <param name="min">1900-01-01</param>  
    <param name="max">2008-10-16</param>  
    <message>出生日期应在1900-01-01到2008-10-16</message>  
   </field-validator>  
</field>  
--></validators>
 

二.关于页面显示的样式

    为了能让验证错误时的提示信息显示在每个字段后面,需做以下修改:

1.找到你的struts2-core-2.2.XXX.jar文件,用解压工具打开,找到“template”---->simple文件夹下"fielderror.ftl",将其解压到出来。

2.和struts2的jar包目录一样,在你的项目src目录下,新建一个template文件夹,然后在template下新建simple文件夹,并将“fielderror.ftl”文件放在这个目录下。如下图所示:


3. 修改fielderror.ftl配置文件,这一步才是关键,如何修改,就是把<ul></ul><li></li>标签删除(仅仅是删除标签而不删除标签里面的内容),简便的方法就是用记事本打开这个文件并用空格替换上面的每个标签。

显示效果如下:


 

下面是“fielderror.ftl”修改后的代码:

<#--
/*
 * $Id: Action.java 502296 2007-02-01 17:33:39Z niallp $
 *
 * 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.
 */
-->
<#if fieldErrors?exists><#t/>
<#assign eKeys = fieldErrors.keySet()><#t/>
<#assign eKeysSize = eKeys.size()><#t/>
<#assign doneStartUlTag=false><#t/>
<#assign doneEndUlTag=false><#t/>
<#assign haveMatchedErrorField=false><#t/>
<#if (fieldErrorFieldNames?size > 0) ><#t/>
	<#list fieldErrorFieldNames as fieldErrorFieldName><#t/>
		<#list eKeys as eKey><#t/>
		<#if (eKey = fieldErrorFieldName)><#t/>
			<#assign haveMatchedErrorField=true><#t/>
			<#assign eValue = fieldErrors[fieldErrorFieldName]><#t/>
			<#if (haveMatchedErrorField && (!doneStartUlTag))><#t/>
				
				<#assign doneStartUlTag=true><#t/>
			</#if><#t/>
			<#list eValue as eEachValue><#t/>
				<span<#rt/>
<#if parameters.cssClass?exists>
 class="${parameters.cssClass?html}"<#rt/>
<#else>
 class="errorMessage"<#rt/>
</#if>
<#if parameters.cssStyle?exists>
 style="${parameters.cssStyle?html}"<#rt/>
</#if>
>${eEachValue}</span>
			</#list><#t/>			
		</#if><#t/>
		</#list><#t/>
	</#list><#t/>
	<#if (haveMatchedErrorField && (!doneEndUlTag))><#t/>
		
		<#assign doneEndUlTag=true><#t/>
	</#if><#t/>
<#else><#t/>
	<#if (eKeysSize > 0)><#t/>
		
			<#list eKeys as eKey><#t/>
				<#assign eValue = fieldErrors[eKey]><#t/>
				<#list eValue as eEachValue><#t/>
					<span<#rt/>
<#if parameters.cssClass?exists>
 class="${parameters.cssClass?html}"<#rt/>
<#else>
 class="errorMessage"<#rt/>
</#if>
<#if parameters.cssStyle?exists>
 style="${parameters.cssStyle?html}"<#rt/>
</#if>
>${eEachValue}</span>
				</#list><#t/>
			</#list><#t/>
		
	</#if><#t/>
</#if><#t/>
</#if><#t/>
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值