一尘不染

@Valid注释在Spring中表示什么?

spring

在以下示例中,该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();        
} 

阅读 374

收藏
2020-04-20

共1个答案

一尘不染

这是出于验证目的。

验证将用户输入绑定到模型后,通常需要对模型进行验证。Spring 3支持使用JSR-303进行声明式验证。如果你的类路径中存在JSR-303提供程序(例如Hibernate Validator),则会自动启用此支持。启用后,你可以简单地通过使用@Valid注释对Controller方法参数进行注释来触发验证:绑定传入的POST参数后,将验证AppointmentForm;在这种情况下,要验证日期字段值不为null并在将来发生。

2020-04-20