Bean验证和spring mvc中请求的参数

时间:2014-07-19 10:33:13

标签: java spring validation spring-mvc

是否可以以任何方式使用javax.validation.constraints包中的验证请求参数的验证器?即如下:

@Controller
public class test {

    @RequestMapping("/test.htm")
    public String test(@RequestParam("name") @NotNull String name)
    {
        return "index";
    }
}

2 个答案:

答案 0 :(得分:2)

使用这种方式:

public class Comment{

    @NotEmpty
    @Length(max = 140)
    private String text;

    //Methods are omitted.
}

现在在控制器中使用@Valid

 @Controller
    public class CommentController {

        @RequestMapping(value = "/api/comment", method = RequestMethod.POST)
        @ResponseBody
        public Comment add(@Valid @RequestBody Comment comment) {
            return comment;
        }
    }

当你在cotroller中为Comment对象应用@Valid时,它将应用Comment类中提到的验证及其属性,如

@NotEmpty
    @Length(max = 140)
    private String text;

你也可以检查一下这个小的替代方法: http://techblogs4u.blogspot.in/2012/09/method-parameter-validation-in-spring-3.html

答案 1 :(得分:0)

你可以试试这个

@Controller
public class test {

    @RequestMapping("/test.htm")
    public String test(@RequestParam(value="name",required=true) String name)
    {
        return "index";
    }
}