如何在Spring中的Validator中排除/禁止字段

时间:2011-09-29 12:56:51

标签: java spring spring-mvc validation

我有2个表格

  1. 添加Book(addBook.jsp)和它的控制器(AddBookController.java)
  2. 编辑图书(editBook.jsp)和它的控制器(EditBookController.java)
  3. Book.java是两个视图的bean类。

    我有editBook.jspaddBook.jsp的相同用户界面。

    我为添加书创建了org.springframework.validation.ValidatorBookValidator.java)同样可以用于EditBookController.java

    但是在AddBookController用户输入图书信息时,用户必须输入唯一的图片编号。我对BookValidator上的唯一包编号进行了一些验证。

    用户EditBook时,此验证不起作用。

    我想在图书编辑时排除/禁止验证字段。

    我已经完成了

    binder.setDisallowedFields(new String[] {"bundleNumber"});
    

    但没有帮助我。

    请建议我如何重新使用验证器?

1 个答案:

答案 0 :(得分:1)

听起来你需要两个验证器。也许更具体的一个可以是更一般的子类。 template method pattern可以为每个验证提供不同的,可覆盖的方法。