Spring框架验证-整个表单的可选验证?
我有一个基于Spring的web表单(实际上是web流)需要修改 表单有多个在服务器端验证的元素。棘手的是,整个表单都是可选的——如果用户只是点击它,我应该悄悄地忽略整个表单Spring框架验证-整个表单的可选验证?,spring,validation,spring-mvc,Spring,Validation,Spring Mvc,我有一个基于Spring的web表单(实际上是web流)需要修改 表单有多个在服务器端验证的元素。棘手的是,整个表单都是可选的——如果用户只是点击它,我应该悄悄地忽略整个表单 我该怎么做呢?我假设您使用JSR303 Bean验证。但解决方案很大程度上取决于您所说的“整个表单是可选的”的确切含义 您是说每个值都是独立的可选值:---- 大多数验证规则都设计为接受空值(除非您明确允许空值(@NotNull,@NotEmpty)-也许这对于您的问题就足够了 您的意思是,如果至少设置了一个值,则整个表
我该怎么做呢?我假设您使用JSR303 Bean验证。但解决方案很大程度上取决于您所说的“整个表单是可选的”的确切含义
- 您是说每个值都是独立的可选值:----
大多数验证规则都设计为接受空值(除非您明确允许空值(
,@NotNull
)-也许这对于您的问题就足够了@NotEmpty
- 您的意思是,如果至少设置了一个值,则整个表单需要有效:---- JSR303 Bean验证知道验证组的概念:只有在请求验证其验证组时,才会验证规则(所有未显式分配的验证规则都属于默认组)。您可以使用此选项为可选值设计验证组,然后仅当至少设置了该组的一个值时才启动该组的显式验证。这可以通过为表单实现自定义DefaultGroupSequenceProvider来完成
null
或空值上添加错误?这是第二个选项。我将检查验证组。谢谢!