feat: 修复数字取值范围与字符长度限制显示错误问题
This commit is contained in:
@@ -18,6 +18,7 @@ import (
|
||||
|
||||
// StructFieldInfo 结构体字段信息
|
||||
type StructFieldInfo struct {
|
||||
IsString bool `json:"is_string" dc:"是否字符串"`
|
||||
Name string `json:"name" dc:"结构体字段名"`
|
||||
JSONName string `json:"json_name" dc:"json tag"`
|
||||
Type reflect.Type `json:"type" dc:"字段类型"`
|
||||
@@ -44,6 +45,7 @@ func ParseStructField(field reflect.StructField) *StructFieldInfo {
|
||||
// 解析验证规则
|
||||
validateRule := util.ParseValidateRule(field.Type, util.ParseStructFieldTag.GetValidateRule(field))
|
||||
info := &StructFieldInfo{
|
||||
IsString: validateRule.IsString,
|
||||
Name: field.Name,
|
||||
JSONName: "",
|
||||
Type: field.Type,
|
||||
@@ -51,16 +53,23 @@ func ParseStructField(field reflect.StructField) *StructFieldInfo {
|
||||
Example: util.ParseStructFieldTag.GetExampleValue(field), // 解析示例值
|
||||
Default: util.ParseStructFieldTag.GetDefaultValue(field), // 解析默认值
|
||||
Required: validateRule.Required,
|
||||
Min: validateRule.Min,
|
||||
Max: validateRule.Max,
|
||||
MinLength: validateRule.Min,
|
||||
MaxLength: validateRule.Max,
|
||||
Min: nil,
|
||||
Max: nil,
|
||||
MinLength: nil,
|
||||
MaxLength: nil,
|
||||
Pattern: validateRule.Regexp,
|
||||
Format: field.Type.String(),
|
||||
Enum: validateRule.Oneof, // 解析枚举值
|
||||
EnumDesc: util.ParseStructFieldTag.EnumDescription(field), // 解析枚举值描述
|
||||
OmitEmpty: false,
|
||||
}
|
||||
if info.IsString {
|
||||
info.MinLength = validateRule.Min
|
||||
info.MaxLength = validateRule.Max
|
||||
} else {
|
||||
info.Min = validateRule.Min
|
||||
info.Max = validateRule.Max
|
||||
}
|
||||
|
||||
// 解析 JSON tag
|
||||
info.JSONName, info.OmitEmpty = util.ParseStructFieldTag.GetParamName(field)
|
||||
|
||||
Reference in New Issue
Block a user