在spring 3 mvc上验证@PathVariable url的问题

时间:2011-02-01 12:15:00

标签: validation spring-mvc

我开始使用弹簧3 mvc并遇到了一个不知道如何解决的问题;

我正在尝试使用以下网址验证网址@pathvariable

public String showGsscFormWithVenueId (@Valid 
        @Pattern(regexp="(0?[1-9]*)",message="venueid.not.number")
        @PathVariable String venueId, BindingResult result, Model model) {

但是我得到一个例外说:

  

在没有先前模型属性的情况下声明的Errors / BindingResult参数。检查处理程序方法签名!

我在互联网上读过这篇文章,它说bindresult必须在你的模型之后,但我的模型是pathVariable。

我使用绑定结果的唯一原因是因为我想在jsp上显示message="venueid.not.number"。因此,如果有其他方法,请告诉我吗?

1 个答案:

答案 0 :(得分:3)

如果@PathVariable参数验证失败,那么Spring会自动将错误添加到请求的BindingResult,您不需要自己执行此操作。

正如错误所示,当您使用基于表单的模型对象时,您只能声明显式的BindingResult参数。它不适用于@PathVariable