Spring注释,用于在四个数据字段中强制设置两个字段

Spring注释,用于在四个数据字段中强制设置两个字段,spring,Spring,我有四个数据字段,我必须确保收到四个字段中至少两个字段的数据。我正在使用Spring3MVC,我想知道,如果spring中有任何可用的注释,可以用来将这个非空逻辑跨四个字段分组。是的,您可以通过Hibernate验证器的注释来完成,它将检查值是否为非空和大小是否为>0 此注释是在bean的字段上给出的,您需要将其设置为必填字段 在客户端,如果您使用的是Spring表单标记,则会有一个属性将表单字段映射到Bean字段 在控制器端,您需要在继续之前验证这个bean,为此,您需要在控制器中的bean对

我有四个数据字段,我必须确保收到四个字段中至少两个字段的数据。我正在使用Spring3MVC,我想知道,如果spring中有任何可用的注释,可以用来将这个非空逻辑跨四个字段分组。

是的,您可以通过Hibernate验证器的注释来完成,它将检查值是否为
非空
大小是否为>0

此注释是在bean的字段上给出的,您需要将其设置为必填字段

在客户端,如果您使用的是Spring表单标记,则会有一个属性将表单字段映射到Bean字段

在控制器端,您需要在继续之前验证这个bean,为此,您需要在控制器中的bean对象参数之前包含
@valid
注释,如下所示

public String submitForm(@Valid MyBean myBean, BindingResult result, Model m) 
{
    if(result.hasErrors()) {
        return "formPage";  //return to error page or display error on client side
    }

    m.addAttribute("message", "Successfully saved form: ");
    return "formPage";
}  
result.hasErrors()
根据bean类中的验证定义,如果字段值无效,则返回true。如果所有值都正确,则返回false


下面是一个完整的例子

这可以通过在spring中简单地创建一个自定义验证器注释来实现