在以下示例中,该ScriptFile参数标记有@Valid注释。
ScriptFile
@Valid
是什么@Valid注解吗?
@RequestMapping(value = "/scriptfile", method = RequestMethod.POST) public String create(@Valid ScriptFile scriptFile, BindingResult result, ModelMap modelMap) { if (scriptFile == null) throw new IllegalArgumentException("A scriptFile is required"); if (result.hasErrors()) { modelMap.addAttribute("scriptFile", scriptFile); modelMap.addAttribute("showcases", ShowCase.findAllShowCases()); return "scriptfile/create"; } scriptFile.persist(); return "redirect:/scriptfile/" + scriptFile.getId(); }
这是出于验证目的。
验证将用户输入绑定到模型后,通常需要对模型进行验证。Spring 3支持使用JSR-303进行声明式验证。如果你的类路径中存在JSR-303提供程序(例如Hibernate Validator),则会自动启用此支持。启用后,你可以简单地通过使用@Valid注释对Controller方法参数进行注释来触发验证:绑定传入的POST参数后,将验证AppointmentForm;在这种情况下,要验证日期字段值不为null并在将来发生。