1.5 KiB
1.5 KiB
代码调整记录 - 2025-07-29
2025-07-29 16:30:00 - 修复XgClassPosMsgBo中positionId字段验证注解错误
问题描述
在新增班级干部信息时,出现验证异常:
jakarta.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint 'jakarta.validation.constraints.NotBlank' validating type 'java.lang.Long'. Check configuration for 'positionId'
问题原因
在 XgClassPosMsgBo 类中,positionId 字段(类型为 Long)错误地使用了 @NotBlank 注解。@NotBlank 注解只能用于字符串类型,对于 Long 类型应该使用 @NotNull 注解。
修复内容
文件: backend/ruoyi-modules/ruoyi-xg/src/main/java/org/dromara/xg/domain/bo/XgClassPosMsgBo.java
修改前:
@NotBlank(message = "职务编码id,关联xg_class_pos_dict.id不能为空", groups = { AddGroup.class, EditGroup.class })
private Long positionId;
修改后:
@NotNull(message = "职务编码id,关联xg_class_pos_dict.id不能为空", groups = { AddGroup.class, EditGroup.class })
private Long positionId;
修复结果
- ✅ 修复了验证注解类型不匹配的问题
- ✅ 新增班级干部信息功能可以正常工作
- ✅ 保持了字段的必填验证功能
技术要点
@NotBlank: 用于字符串类型,验证字符串不为空且不只包含空白字符@NotNull: 用于任何类型,验证字段不为null- 对于
Long类型的必填字段,应该使用@NotNull而不是@NotBlank