方法里获取validator再次校验,非注解校验
@ToString
@Getter
@Setter
public class DTO {
private static final long serialVersionUID = -26833536621288343L;
@Size(max = 500, message = "素材缩略图下载路径最大500位")
@NotBlank(message = "名称不允许为空")
String name;
@Size(max = 10, message = "最大为10位")
@NotBlank(message = "code不允许为空")
String code;
}
import javax.validation.ConstraintViolation;
import javax.validation.Valid;
import javax.validation.Validator;
public Result<Void> sync(DTO dto){
Set<ConstraintViolation<DTO>> validateSet = validator.validate(dto);
if (validateSet.size() > 0) {
Iterator it = validateSet.iterator();
String errMsg = "";
while (it.hasNext()) {
ConstraintViolation constraintViolation = (ConstraintViolation) it.next();
errMsg += constraintViolation.getMessage() + ";";
}
throw new BizException(SystemStatusEnum.COMMON_FAIL.getCode(), errMsg);
}
}