问题描述:
@oneof_enum注解之前仅支持自定义枚举类型字段,不支持string类型字段- 当枚举类型定义在其他包时,生成的验证代码和测试代码缺少必要的 import 语句
修复内容:
-
支持 string 类型字段使用
@oneof_enum现在可以对
string类型字段使用@oneof_enum注解:// validategen:@validate type Config struct { // validategen:@oneof_enum(Status) StatusStr string // 验证值必须是 Status 枚举的有效字符串 }
-
支持跨包枚举类型
当引用其他包的枚举类型时,生成的代码会自动添加正确的 import:
import "myapp/common" // validategen:@validate type Order struct { // validategen:@oneof_enum(common.Priority) Priority string // 引用 common 包的 Priority 枚举 }
-
测试代码跨包导入修复
生成的
*_validate_test.go文件现在会正确导入跨包类型。
新增示例:
cmd/validategen/examples/common/- 跨包枚举类型示例types.go- 定义Status枚举common_enum.go- 生成的枚举辅助方法