Spring Framework验证 - 整个表单的可选验证?

时间:2014-02-14 16:16:24

标签: spring validation spring-mvc

我有一个基于Spring的Web表单(实际上是Web Flow),我需要修改它。

表单有多个经过验证的服务器端元素。棘手的部分是,整个表单是可选的 - 如果用户只是点击它,我应该静静地忽略整个事情。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

我假设您使用JSR303 Bean验证。但是解决方案很大程度上取决于“整个表格是可选的”,

  • 你的意思是每个值都是独立的可选:---- 大多数验证规则旨在接受Null值(除非您明确允许Null(@NotNull@NotEmpty) - 这可能足以满足您的需求。

  • 你的意思是如果设置了至少一个值,整个表单必须是有效的:---- JSR303 Bean Validation知道验证组的概念:只有在请求验证其验证组时才会验证规则(所有未明确分配的验证规则都属于默认组)。您可以使用此选项为可选值设计验证组,然后仅在设置了至少一个值时才启动此组的valdation。这可以通过为表单实现自定义DefaultGroupSequenceProvider来完成。 5.4.2. @GroupSequenceProvider