`
zkh43javaeye
  • 浏览: 85949 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

spring验证框架

阅读更多

1.applicationContext.xml

 

//spring 验证对应的message资源.
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
		<property name="basenames">
			<list>
				<value>WEB-INF/classes/message</value>
			</list>
		</property>
	</bean>
	
   	<bean id="beanValidator" class="org.springmodules.validation.commons.DefaultBeanValidator">
		<property name="validatorFactory" ref="validatorFactory"/>
	</bean>

    <bean id="validatorFactory" class="org.springmodules.validation.commons.DefaultValidatorFactory">
		<property name="validationConfigLocations">
			<list>
				<value>/WEB-INF/validator-rules.xml</value>
				<value>/WEB-INF/validator.xml</value>
			</list>
		</property>
	</bean>

 2.validator-ruls.xml 网上有。

 3.validator.xml自己定义的规则:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE form-validation PUBLIC 
    "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN" 
    "http://jakarta.apache.org/commons/dtds/validator_1_1.dtd">

<form-validation>

    <formset>

        <form name="itemUpdateForm">
			<field property="item.name.fullName" depends="required">
				<arg0 key="item.name.fullName" />
			</field>
        </form>
        
        <form name="administratorEditForm">
			<field property="administrator.username" depends="required,minlength,maxlength">
			     <!-- msg标签用于覆盖资源文件的内容,name用户指验证规则,key与资源文件的属性名一致 -->
                 <!-- arg标签用于向资源文件传递参数,position用于指定参数的位置,key用于指定传递的值 -->  
				 <arg0 key="User name" />
				 <arg1 name="minlength" key="${var:minlength}"/>  
                 <arg1 name="maxlength" key="${var:maxlength}"/>  
                 <var>  
                     <var-name>minlength</var-name>  
                     <var-value>2</var-value>
                 </var>  
                 <var>  
                     <var-name>maxlength</var-name>
                     <var-value>6</var-value>
                 </var>  
			</field>
			<field property="administrator.password" depends="required,minlength,maxlength">
				  <!-- msg标签用于覆盖资源文件的内容,name用户指验证规则,key与资源文件的属性名一致 --> 
                 <!-- arg标签用于向资源文件传递参数,position用于指定参数的位置,key用于指定传递的值 -->  
				 <arg0 key="Password" />
				 <arg1 name="minlength" key="${var:minlength}"/>  
                 <arg1 name="maxlength" key="${var:maxlength}"/>  
                 <var>
                     <var-name>minlength</var-name>  
                     <var-value>2</var-value>  
                 </var>  
                 <var>  
                     <var-name>maxlength</var-name>  
                     <var-value>6</var-value>
                 </var>
			</field>
        </form>
        
        <form name="currencyEditForm">
			<field property="currency.currencyCode" depends="required">
				<arg0 key="currency.currencyCode" />
			</field>
			<field property="currency.name.fullName" depends="required">
				<arg0 key="currency.name.fullName" />
			</field>
        </form>
        
        <form name="categoryEditForm">
			<field property="category.name.fullName" depends="required">
				<arg0 key="category.name.fullName" />
			</field>
        </form>

    </formset>

</form-validation>

 

4.message.proerties.

 

data.empty=Please input data.
data.error=Incorrect data.
username.or.password.invalid=Username or password is invalid.

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.

item.name.fullName=Item Name.

errors.userName.exists=administrator.username has exists.
errors.currency.fullName.exists=currency.name.fullName has exists.
errors.currency.currencyCode.exists=currency.currencyCode has exists.
errors.category.fullName.exists=category.name.fullName has exists.

 

  5.java

@Controller
@RequestMapping("/admin/administrator/*")
public class AdministratorController {

    @Autowired
    private Validator validator;

    @RequestMapping(value = "/admin/administrator/saveOrUpdate.do", method = RequestMethod.POST)
    public String onSubmit(@ModelAttribute("administratorEditForm") AdministratorEditForm administratorForm,
            BindingResult result, ModelMap model, HttpServletRequest request) {

        //spring 规则验证 required,email等等
        validator.validate(administratorForm, result);

        //后台自定义去重判断..
if (!isAdd
                && !administratorService.validName(administratorForm.getAdministrator().getUsername(),
                        administratorForm.getAdministrator().getObjectId()) || isAdd
                && !administratorService.validName(administratorForm.getAdministrator().getUsername())) {
            result.rejectValue("administrator.username", "errors.userName.exists");
        }

        if (result.hasErrors()) {
            model.addAttribute("itemForm", administratorForm);
            if (!isAdd) {
                return "admin/administrator/update";
            } else {
                return "admin/administrator/save";
            }
        }

}
 

6.jsp

<tr>
	<td>User Name:</td>
	<td>
	 <form:input path="administrator.username" cssClass="input" maxlength="50"/>
	 <form:errors path="administrator.username" cssClass="red"/>
	</td>
</tr>
<tr>
	<td>Password:</td>
	<td>
		<form:password path="administrator.password" cssClass="input" maxlength="50"/>
		<form:errors path="administrator.password" cssClass="red"/>
	</td>
</tr>
4
0
分享到:
评论

相关推荐

    spring4.0框架demo

    《Spring 4.0框架深度探索:基于Maven构建的实战Demo》 Spring框架作为Java企业级应用开发的基石,自推出以来就以其强大的功能和灵活性赢得了广大开发者的心。Spring 4.0作为其一个重要版本,引入了许多改进和新...

    Spring框架.ppt

    向Spring 框架提供上下文信息,包括企业服务,如 JNDI、EJB、电子邮件、国际化、校验和调度等。 Spring AOP。通过配置管理特性,可以很容易地使 Spring 框架管理的任何对象支持 AOP。Spring AOP 模块直接将面向方面...

    Spring框架开发参考中文手册

    Spring Security是Spring生态系统中的安全框架,用于实现身份验证和授权。它提供了细粒度的访问控制,可以保护Web应用程序免受常见攻击。 九、测试 Spring Test模块提供了测试Spring应用程序的工具,包括单元测试和...

    Spring框架基础总结

    2. **Spring上下文**:为Spring框架提供上下文信息,是基于核心容器的抽象,提供了更强大的功能,如国际化支持、事件传播、资源加载和验证机制等。 3. **Spring AOP**:将面向切面的编程功能集成到Spring框架中,为...

    Spring框架基础压缩包

    Spring Security是一个强大的安全框架,提供了身份验证、授权、CSRF防护等功能,保护Web应用免受攻击。 在"Spring_Project_1"这个压缩包中,可能包含了Spring框架的基础示例项目,包括配置文件、源代码、测试用例等...

    struts2 spring hibernate框架技术与项目实战 光盘源码上

    Struts2、Spring和Hibernate是Java Web开发中的三大主流框架,它们各自负责应用程序的不同层面,协同工作可以构建出高效、可维护的复杂Web应用。在本资源中,"struts2 spring hibernate框架技术与项目实战 光盘源码 ...

    《Spring.NET框架参考文档》中文版.chm

    9. **安全性**:Spring.NET整合了Windows身份验证、Forms Authentication和OAuth等多种安全机制,提供了全面的安全管理框架。 10. **企业服务**:Spring.NET支持工作流、JMS、JMX等企业级服务,使得在.NET平台上...

    java spring框架学习资料 pdf

    Spring Security则是Spring生态中的安全组件,提供身份验证和授权服务,保护你的应用程序免受潜在的安全威胁。 总的来说,这份《Java Spring框架学习资料 pdf》是全面了解和精通Spring框架的宝贵资源。无论你是初学...

    android的spring框架

    Spring Security为Android应用提供了认证和授权功能,可以实现用户身份验证、权限控制等,保障应用的安全性。 9. **MVC模式** Spring MVC模式可以用于构建Android应用的后端服务,提供RESTful API。虽然Android...

    Validator验证框架

    Validator验证框架,STRUTS动态验证的规则与规范!

    Spring_框架的设计理念与设计模式分析

    ### Spring框架的设计理念与设计模式分析 #### 一、Spring框架概述 Spring作为一个顶级的Java开发框架,其设计理念和架构模式对于理解和应用该框架至关重要。本文将深入探讨Spring框架的核心设计理念,以及它如何...

    spring框架学习笔记

    Spring Security是Spring生态系统中的安全框架,提供身份验证、授权和会话管理等功能,用于保护Web应用和REST服务的安全。 九、Spring Batch Spring Batch是Spring提供的批处理框架,适用于处理大量数据的场景。它...

    spring整合其他框架

    6. Spring与Shiro整合:Apache Shiro是一个强大的安全框架,负责身份验证、授权、会话管理和加密。Spring通过AOP和Shiro的API集成,为应用提供全面的安全管理,包括登录认证、权限控制等。 7. Spring与Struts2整合...

    spring-boot-plus框架是spring boot框架的基础上进行高度扩展的一个框架.zip

    让用户基本无需任何配置构建RESTFul风格的应用,另外框架的DAO层同时实现了Spring Data JPA, Hibernate, Mabatis的各自优势, 基本无需手写SQL语句,也支持用户高度定制SQL,在控制器层, 加入动态视图, 参数校验等...

    spring框架jar包

    此外,Spring Security是用于身份验证和授权的安全框架,它可以轻松地添加到Spring应用中,提供用户认证、访问控制等功能,保护你的应用免受未经授权的访问。 Spring Boot是Spring框架的一个扩展,它简化了Spring...

    Spring测试框架.rar

    6. **断言**:虽然Spring测试框架本身并不包含断言库,但它可以很好地与JUnit、AssertJ等断言库配合使用,用于验证测试结果。 7. **测试配置**:你可以通过`@TestConfiguration`注解来定义专门为测试用例创建的配置...

    《使用Validator做SpringMVC的验证框架》教程源码(完整版)

    《使用Validator做SpringMVC的验证框架》教程源码 教程地址: http://blog.csdn.net/devefx/article/details/51565139 http://blog.csdn.net/devefx/article/details/51567533 ...

Global site tag (gtag.js) - Google Analytics