Java spring注释属性

时间:2015-02-19 14:40:14

标签: java spring validation java-ee

我有一个post方法接收一个对象作为参数,在这个对象中我有一个注释为@ValidDate和@NotEmpty的属性。
在另一种方法中,我想使用相同的对象,但我只想在属性上注释@ValidDate。 它有可能吗?

属性:

@NotEmpty 
@ValidDate 
private String installDate;

功能:

public String findLinksByCriteria(@Valid @ModelAttribute LinkForm link, BindingResult bindingResult, Model uiModel) {
    if (bindingResult.hasErrors()) {
        return ViewConstants.LINK_SEARCH_VIEW;
    }

1 个答案:

答案 0 :(得分:0)

可能是多种解决方案中的一种。您可以删除可选约束并手动执行,但是如果要将其严格保留在Bean Validation API的上下文中,则可以使用验证组执行此操作。

https://docs.oracle.com/cd/E19798-01/821-1841/gkahp/index.html

  

可以将约束添加到一个或多个组。约束组是   用于创建约束的子集,因此只有某些约束   将针对特定对象进行验证。默认情况下,所有约束   包含在默认约束组中。

通过使用Spring的@Validated注释而不是@Valid,您可以指定一组或多组约束,以应用于任何给定的案例。

这里有一个详细的例子:

http://blog.codeleak.pl/2014/08/validation-groups-in-spring-mvc.html