• No labels

5 Comments

  1. 结构体里面有属性是结构体切片的话,有效果吗?我试了下好像不行。

    type A struct{

        Name string `v:"required"`

    }

    type B struct{

        BList []B

    }


    1. 目前不支持,下个版本(v1.16)支持。

  2. 示例3,结构体嵌套校验

    	type User struct {        
            Pass Pass
    		Id   int
    		Name string `valid:"name@required#请输入您的姓名"`
    	}

    把User改成这样就无法进行校验了,在实际应用中会遇到接收多层json数据的情况。

    1. 这是个好问题

  3. 是否可以支持 别名 国际化 从相关i18n文件获取

    在做语言处理的时候,我按照教程拷贝了i18n文件。 设置中文显示,但是结构体name字段又是英文,显得不搭。

    如果每次验证都要写一遍rule和 msg,又不那么方便。这块能够改进下。

    			if _, ok := errorMaps[key]; !ok {
    				errorMaps[key] = make(map[string]string)
    			}

    我看到代码这块是在这里构造error消息。这块也没有回调处理字段alias的翻译。


    而且手机好验证这块的翻译提示也不太正确,一般参数请求字段名是给开发人员 提示的,无需给用户展示,但是当我设置Mobile时,错误提示 Mobile 手机号码格式不正确,Mobile 和 手机号码 含义重复。二者应该用 attribute 替换。

    所以这块别名的 翻译很重要