java - 如何在 Spring 中排除/禁止 validator 中的字段

标签 java spring spring-mvc validation

我有 2 个表格

  1. 添加图书 (addBook.jsp) 及其 Controller (AddBookController.java)
  2. 编辑图书(editBook.jsp) 及其 Controller (EditBookController.java)

Book.java 是两个 View 的 bean 类。

我的 editBook.jspaddBook.jsp 具有相同的 UI。

我已经创建了org.springframework.validation.Validator (BookValidator.java)来添加书籍,相同的Validator可用于EditBookController.java

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

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

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

我已经做到了

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

但没有帮助我。

请建议我如何重新使用 validator ?

最佳答案

听起来您需要两个 validator 。也许更具体的一个可以是更一般的一个的子类。 template method pattern对于每个验证部分,使用不同的、可重写的方法可能会有所帮助。

关于java - 如何在 Spring 中排除/禁止 validator 中的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7597658/

相关文章:

java - Web 应用程序中的 PageSpeed "Enable Compression"

java - 启用 ssl 的 spring mvc - 没有可用的 session 属性

java - 运行Spring项目时出现空指针异常

java - 为什么组件扫描不获取我的@Configuration?

java - 如何在 spring-mvc web 应用程序中放置图像/CSS?

java - 如何从音量级别创建 MIDI Sysex Master Volume 消息?

java - 如何正确抛出 MethodArgumentNotValidException

java - 用前面带有特定单词的逗号分割字符串

Java对象——避免重复代码

java - ArrayList自己的类型转String?