版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yangguosb/article/details/84926529
现象
表单数据对应的Java Bean属性上添加的诸多校验注解不生效,如下示例:
@NotEmpty(message = "规则不能为空", groups = {AppConfigGroup.Add.class,AppConfigGroup.Update.class})
@Size(max = 200,groups= {AppConfigGroup.Add.class,AppConfigGroup.Update.class})
private String url;// url规则
原因
没有使用@Validated或者@Valid注解,原因如下:对JavaBean的属性值进行校验前会首先判断是否存在@Validated或者@Valid注解,只有存在才会执行具体的校验逻辑;
解决方案
待校验的JavaBean前使用@Validated或者@Valid注解,如下:
###注解说明
@NotEmpty:限制对象不为null且不为空,具体如下:
*<li>{@code CharSequence} (length of character sequence is evaluated)</li>
* <li>{@code Collection} (collection size is evaluated)</li>
* <li>{@code Map} (map size is evaluated)</li>
* <li>Array (array length is evaluated)</li>
其它类似,可通过源码查看具体使用说明;
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>2.0.1.Final</version>
</dependency>
参考: