Skip to content

v0.3.2

Choose a tag to compare

@tlipoca9 tlipoca9 released this 09 Dec 03:40
· 90 commits to main since this release

v0.3.2 Release Notes

Bug 修复

validategen: 修复 @oneof_enum 对 string 类型字段和跨包导入的支持

问题描述:

  1. @oneof_enum 注解之前仅支持自定义枚举类型字段,不支持 string 类型字段
  2. 当枚举类型定义在其他包时,生成的验证代码和测试代码缺少必要的 import 语句

修复内容:

  1. 支持 string 类型字段使用 @oneof_enum

    现在可以对 string 类型字段使用 @oneof_enum 注解:

    // validategen:@validate
    type Config struct {
        // validategen:@oneof_enum(Status)
        StatusStr string  // 验证值必须是 Status 枚举的有效字符串
    }
  2. 支持跨包枚举类型

    当引用其他包的枚举类型时,生成的代码会自动添加正确的 import:

    import "myapp/common"
    
    // validategen:@validate
    type Order struct {
        // validategen:@oneof_enum(common.Priority)
        Priority string  // 引用 common 包的 Priority 枚举
    }
  3. 测试代码跨包导入修复

    生成的 *_validate_test.go 文件现在会正确导入跨包类型。

新增示例:

  • cmd/validategen/examples/common/ - 跨包枚举类型示例
    • types.go - 定义 Status 枚举
    • common_enum.go - 生成的枚举辅助方法

English