当前位置: 首页 > 面试题库 >

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

汪文光
2023-03-14
问题内容

在以下示例中,该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并在将来发生。

在这里查看更多信息:http :
//blog.springsource.com/2009/11/17/spring-3-type-conversion-and-
validation/



 类似资料:
  • 我有一个实体: 和控制器方法: 批注不起作用。 看起来Spring需要一个默认的无参数构造函数,上面的代码看起来很丑(但是可以工作),如下所示: 有什么好的练习可以让它不那么罗嗦吗? 谢谢

  • 使用和的优点是什么? 有什么不同? 可以一起使用吗?

  • 本文向大家介绍在 Spring MVC 中使用 WebMvcTest 注释有什么用?相关面试题,主要包含被问及在 Spring MVC 中使用 WebMvcTest 注释有什么用?时的应答技巧和注意事项,需要的朋友参考一下 WebMvcTest** 注释用于 Spring MVC 程序的单元测试,其目标是专注于Spring MVC组件。在上面显示的快照中,我们只想启动 ToTestControll

  • 我有以下课程: 我从控制器调用方法test(): 然而,spring并没有注入构建。版本值,即使类具有组件注释。 我在控制器中使用相同的属性,它工作正常。 我做错了什么?

  • 问题内容: 所以我对数据库中的某些表进行了反向工程,当我尝试将对象保存到数据库中时,出现以下错误: 初始SessionFactory创建失败。org.hibernate.AnnotationException:从com.mycode.Account引用com.mycode.Block的外键具有错误的列数。在线程“ main”中应为2异常java.lang.ExceptionInInitialize