0
点赞
收藏
分享

微信扫一扫

JSR-303


JSR-303

JSR-303 是JAVA EE 6 中的一项子规范,叫做Bean Validation,Hibernate Validator 是 Bean Validation 的参考实现 . Hibernate Validator 提供了 JSR 303 规范中所有内置 constraint 的实现,除此之外还有一些附加的 constraint。

Bean Validation 中内置的 constraint

JSR-303_spring

JSR-303_hibernate_02

事例

实体类

public class User{  

@NotNull
@Length(min = 1,max = 5)
private String name;

@Size(min=1,max=5)
private int pasWord
}

控制器

@RequestMapping(value = "/create", method = RequestMethod.POST)  
@ResponseBody
ResponseEntity createUser(@ModelAttribute @Valid User user, BindingResult result) {

if (result.hasErrors()) {
return ...;
}
return ...;

}

注:Hibernate Validate提供了JSR-303的实现,但是它仅支持Controller类方法的对象参数验证,不支持原始类型(String,int,char,boolean等)参数验证 。如需支持原始类型参数,请使用Spring Validator的@Validated注解。

@RestController
@RequestMapping("hello")
@Validated
public class HelloController{

@RequestMapping("get/{id}")
public String getById(@PathVariable @Min(1) int id) {
return "input id is " + id ;
}

}


举报

相关推荐

0 条评论