嵌套类列表的Spring验证

αƞjiβ

我已经实现了我的自定义类的列表,在此提到的验证岗位供参考,我的代码看起来像

class TopDtoForm {
  @NotEmpty
  private String topVar;
  private List<DownDto> downVarList;
  //getter and setter
}

class DownDto {
  private Long id;
  private String name;
  //getter and setter
}

@Component
public class TopDtoFormValidator implements Validator {
  @Override
  public boolean supports(Class<?> clazz) {
    return TopDtoForm.class.equals(clazz);
  }

  @Override
  public void validate(Object target, Errors errors) {
    TopDtoForm topDtoForm = (TopDtoForm) target;
    for(int index=0; index<topDtoForm.getDownVarList().size(); index++) {
        DownDto downDto = topDtoForm.getDownVarList().get(index);
        if(downDto.getName().isEmpty()) {
            errors.rejectValue("downVarList[" + index + "].name", "name.empty");
        }
    }
  }
}

因此,即使我发送空名称绑定结果也有0错误。我用topVar测试过,它工作正常。我的问题是是否必须做任何其他配置才能使用此验证器?

谢谢

卡米尔

在Spring MVC中,只需在TopDtoForm中用注释您的列表@Valid并添加@NotEmpty到中DownDtoSpring将对其进行验证:

class TopDtoForm {
  @NotEmpty
  private String topVar;
  @Valid
  private List<DownDto> downVarList;
  //getter and setter
}

class DownDto {
  private Long id;
   @NotEmpty
  private String name;
  //getter and setter
}

然后在RequestMapping中:

@RequestMapping(value = "/submitForm.htm", method = RequestMethod.POST) public @ResponseBody String saveForm(@Valid @ModelAttribute("topDtoForm") TopDtoForm topDtoForm, BindingResult result) {}

还应考虑从切换@NotEmpty@NotBlank,同时还要检查白色字符(空格,制表符等)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

嵌套类列表LINQ

来自分类Dev

Spring MVC嵌套对象验证

来自分类Dev

从列表访问嵌套的类语句

来自分类Dev

Spring MVC绑定嵌套类

来自分类Dev

类验证器忽略嵌套对象

来自分类Dev

嵌套类<List>:如何访问列表中的嵌套类?

来自分类Dev

Spring MVC验证继承的类

来自分类Dev

类验证器基于父属性验证嵌套对象

来自分类Dev

嵌套列表CSS覆盖样式(#id +类)

来自分类Dev

如何使用linq填充嵌套列表类

来自分类Dev

根据类名称创建嵌套列表

来自分类Dev

替换嵌套列表中的类名

来自分类Dev

验证命令对象中的嵌套域类实例

来自分类Dev

如何建议XJC生成Java列表而不是嵌套类

来自分类Dev

关于使用链接列表的堆栈实现中的嵌套类

来自分类Dev

将嵌套类列表从视图绑定到控制器

来自分类Dev

如何使用表格中的嵌套类和列表?

来自分类Dev

根据类名对列表项进行分组和嵌套

来自分类Dev

取消列出嵌套列表并且不丢失对象类

来自分类Dev

如何序列化嵌套在类中的实例列表?

来自分类Dev

在 Python 中的项目级别扩展嵌套类列表

来自分类Dev

将列表从视图模型移至验证规则类

来自分类Dev

Spring Webflow 验证后未执行操作类方法

来自分类Dev

如何在Spring数据elasticsearch中映射嵌套对象列表

来自分类Dev

使用父类构造函数初始化列表在嵌套类字段中设置值

来自分类Dev

Spring MVC Controller JSR 303基本列表验证

来自分类Dev

Spring MVC Controller JSR 303基本列表验证

来自分类Dev

应用函数从列表中的分类树类概率的嵌套列表中生成混淆矩阵

来自分类Dev

嵌套行列表中的Data.frame,带有类列表的列