Spring4.1内置支持了JSR349校验数据,相关配置如下
<!-- spring validation -->
<mvc:annotation-driven conversion-service="conversionService" validator="validator"/>
<bean id="conversionService"
class="org.springframework.format.support.FormattingConversionServiceFactoryBean"/>
<bean id="validator"
class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
<property name="providerClass" value="org.hibernate.validator.HibernateValidator"/>
<!--不设置则默认为classpath下的 ValidationMessages.properties -->
<property name="validationMessageSource" ref="validatemessageSource"/>
</bean>
<bean id="validatemessageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basename" value="classpath:validatemessages"/>
<property name="fileEncodings" value="utf-8"/>
<property name="cacheSeconds" value="120"/>
</bean>
注意相关架包版本
<!-- javax.validation-->
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.1.0.Final</version>
</dependency>
<!-- hibernate-validator-->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.2.2.Final</version>
</dependency>
controller演示
@RequestMapping(value="/test", method=RequestMethod.GET) //json xml vm
@ResponseStatus(HttpStatus.OK) //200
public String getUser(ModelMap model,@Valid AccountQuery query,BindingResult bindingResult ) {
System.out.println(query.getUserName());
if(bindingResult.hasErrors()){
for(FieldError o:bindingResult.getFieldErrors()){
model.put(o.getField(), o.getDefaultMessage());
}
model.put("error", true);
model.remove("accountQuery");
return "";
}
model.put("error", false);
return "";
}
model只需要在相关字段上添加注解就可以了,附件里面是JSR-349部分规范
分享到:
相关推荐
Spring Core提供了一种优雅的方式来处理参数校验,特别是通过JSR 303、JSR 349和JSR 380这些标准注解,实现了高效且易于维护的验证机制。 JSR 303最初定义了JavaBean验证的标准,而JSR 349是其修订版,主要增加了对...
【JSR303+AOP数据校验】是Java Web开发中的一种常见实践,用于确保应用程序接收到的数据质量。JSR303(Java Bean Validation)是Java平台上的一个规范,它定义了一种标准的方式来验证对象属性,以满足业务规则。AOP...
JSR303数据校验是Java世界中用于验证数据的有效性和一致性的一种规范,它为开发者提供了一套标准的API来实现对象级别的业务规则检查。这个"springboot-01-config.zip"压缩包文件可能包含了关于如何在Spring Boot项目...
Springboot全局异常处理、JSR303参数校验,具体详见: https://blog.csdn.net/herojuice/article/details/85788681
【标题】"服务端JSR303参数校验md,学习代码"涉及的主要知识点是服务端参数验证,这是Java后端开发中的一个重要环节,确保输入数据的有效性和安全性。JSR303(Java Bean Validation)是Java平台的一个标准,用于进行...
JSR303是Java的一个标准,全称为Java Bean Validation,它定义了一种规范来验证Java对象的属性值,以确保输入的数据符合业务规则。 在SpringMVC中集成JSR303,可以实现对用户输入数据的高效验证。JSR303提供了预定...
Spring MVC 提供了两种主要的数据验证方式:一种是基于JSR 303/349的Bean Validation,另一种是基于Validator接口的自定义验证。 1. **Bean Validation**:这是一个标准的Java Bean数据验证框架,它定义了一组注解...
Spring MVC 支持 JSR-303/JSR-349 规范,即 Bean Validation,这是一个标准的 Java EE 数据校验框架。通过在字段上添加注解,如 `@NotNull`、`@Size`、`@Min`、`@Max` 等,可以实现基本的数据校验。例如,对于一个...
本节主要讨论了Spring Core和Spring MVC中的参数校验,以及它们如何利用Bean Validation标准和Hibernate Validator进行数据验证。 Bean Validation是Java平台上的一个规范,它定义了数据验证的元数据模型和API。这...
4. **JSR 303/349 与 Hibernate Validator**:JSR 303/349 是 Java 中的 Bean Validation 规范,Hibernate Validator 是其实现。这些规范定义了一系列的校验注解,如 `@NotNull`, `@Size`, `@Email` 等,可以方便地...
总的来说,JSR303数据验证为SpringMVC提供了强大的数据校验能力,使得开发者能够以声明式的方式定义和执行验证规则,提高了代码的可读性和可维护性。结合SpringMVC的控制器机制,我们可以轻松地处理数据验证失败的...
Spring提供了内置的数据校验框架,基于JSR 303/JSR 349(Bean Validation)标准。我们可以通过在bean的属性上添加校验注解来定义验证规则,如`@NotNull`, `@Size`, `@Pattern`等。 ```java public class User { ...
4. 在控制器中使用校验:通过在控制器的处理器方法中使用@Valid注解,SpringMVC会自动进行数据校验,并将结果放在Errors对象中供我们后续处理。如果校验失败,可以通过Errors对象来判断具体的错误信息,并进行相应...
在SpringBoot中,我们可以利用JSR303标准进行JavaBean级别的数据校验。JSR303(在Java EE 6中被更名为JSR349)提供了注解式的数据验证,使得在后端验证用户提交的数据变得简单且直观。 以下是一个简单的SpringBoot...
在Spring Boot应用中,数据校验是确保输入数据正确性和安全性的重要步骤。`@Valid`注解是Java Bean Validation框架的一部分,它可以帮助我们方便地在控制器层对请求参数进行验证。Spring Boot集成了Bean Validation...
Spring Boot集成JSR303参数校验的方法实现涉及了Java中参数校验的标准规范,即JSR303(Bean Validation)规范,该规范通过在Java对象属性上添加注解来实现数据校验的约束定义。这种方式能够将校验逻辑与业务逻辑分离...
Hibernate Validator 是一个强大的Java Bean验证框架,它实现了JSR-303(Bean Validation)和JSR-349(Bean Validation 1.1)标准,为Java应用程序提供了规范化的验证机制。在Spring MVC框架中集成Hibernate ...
Spring MVC 数据效验 jar包 :classmate-1.1.0.jar,hibernate-validator-5.2.4.Final.jar,hibernate-validator-annotation-processor-5.2.4.Final.jar,hibernate-validator-cdi-5.2.4.Final.jar,jboss-logging-3.2.1....