java中,如何解决@NotBlank不生效的问题 @NotBlank @NotEmpty不生效,以及对象嵌套问题

时间:2022-10-08 09:58:10

这篇文章主要介绍了如何解决@NotBlank不生效的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教。

1.解决@NotBlank不生效

最近做一个新项目,写新接口时发现@NotBlank @NotEmpty不生效,@NotNull则生效,令人费解。仔细检查一下2步骤

用法:

step1、Controller层接口入参处加@Validated注解(org.springframework.validation.annotation包的)

step2、入参对象的属性上加@NotBlank 或@NotEmpty 或 @NotNull --均来自于javax.validation.constraints包下, 三者区别可百度

 

属性循环嵌套问题,入参对象bean中 属性也为javabean对象,也希望子对象中的属性能够被校验

 

用法: 在子对象属性上面加@Valid 注解即可

java中,如何解决@NotBlank不生效的问题 @NotBlank @NotEmpty不生效,以及对象嵌套问题

WxCollectUserinfo.java
package com.joolun.system.domain;

import com.joolun.common.annotation.Excel;
import com.joolun.common.core.domain.BaseEntity;
import com.joolun.system.domain.vo.UserVo;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
* 门店信息对象 wx_collect_userinfo
*
* @author qiaosl
* @date 2022-10-03
*/
public class WxCollectUserinfo extends BaseEntity
{
private static final long serialVersionUID = 1L;

/** 主键 */
@Excel(name = "主键")
private Long wcuId;

@NotNull(message = "userVo不能为空")
@Valid
private UserVo userVo;

  

UserVo.java

package com.joolun.system.domain.vo;

import javax.validation.constraints.NotBlank;