Java spring表单验证与JSRBean验证不同吗

Java spring表单验证与JSRBean验证不同吗,java,spring-mvc,jsr,Java,Spring Mvc,Jsr,我已经看到JSR规范中给出了@NotNull等注释 现在,我正在学习SpringMVC,并在该领域建立网站 所以我很困惑它们是相同的还是不同的,它们与SpringMVC有什么关系 因为对于.eg,如果我使用@NotEmpty,那么spring会知道,如果我将其保留为空,那么它将以错误消息的形式显示,就像我们在validator及其消息中编码一样 这是我的方法,我对添加@Valid感到困惑 public String add(@ModelAttribute("personAttribute")

我已经看到JSR规范中给出了@NotNull等注释

现在,我正在学习SpringMVC,并在该领域建立网站

所以我很困惑它们是相同的还是不同的,它们与SpringMVC有什么关系

因为对于.eg,如果我使用@NotEmpty,那么spring会知道,如果我将其保留为空,那么它将以错误消息的形式显示,就像我们在validator及其消息中编码一样

这是我的方法,我对添加@Valid感到困惑

 public String add(@ModelAttribute("personAttribute") Person person) {
        logger.debug("Received request to add new person");


        personService.add(person);

        // This will resolve to /WEB-INF/jsp/addedpage.jsp
        return "hibernate/addedpage";
    }

Spring表单验证不同,但它也支持JSR-303验证。通过使用
@Valid
(作为方法参数)对整个模型属性进行注释,可以验证该属性

您需要:

  • 类路径上的JSR-303提供程序
  • ,以启用验证

Spring表单验证不同,但它也支持JSR-303验证。通过使用
@Valid
(作为方法参数)对整个模型属性进行注释,可以验证该属性

您需要:

  • 类路径上的JSR-303提供程序
  • ,以启用验证

我已经添加了方法代码,hibernate正在将对象添加到mysql中。现在,在上面的代码中,我可以在哪里编写@validI,但验证不起作用,我也没有得到任何错误。我正在使用hibernate和mysql。我是否需要在该方法中使用BIndingresult。我还需要使用hibernate验证器或spring验证器。JSR有什么特别的jar吗hibernate@Name正如Bozho所说,在类路径上需要一个JSR-303验证器。Hibernate验证器是一个不错的选择,但请注意它与Hibernate是分开的。您也需要包含它。我已经这样做了,但表单仍然无法验证。我的数据即使是空的,也会存储在数据库中。我使用了@NotNull。我已经包括javax.validation.containt.NotNull,在form.jsp中我已经添加了方法代码,hibernate正在将对象添加到mysql。现在,在上面的代码中,我可以在哪里编写@validI,但验证不起作用,我也没有得到任何错误。我正在使用hibernate和mysql。我是否需要在该方法中使用BIndingresult。我还需要使用hibernate验证器或spring验证器。JSR有什么特别的jar吗hibernate@Name正如Bozho所说,在类路径上需要一个JSR-303验证器。Hibernate验证器是一个不错的选择,但请注意它与Hibernate是分开的。您也需要包含它。我已经这样做了,但表单仍然无法验证。我的数据即使是空的,也会存储在数据库中。我使用了@NotNull。我已经包括javax.validation.containt.NotNull和form.jsp
public String add(@Valid @ModelAttribute("personAttribute") Person person) { .. }