结构体里面有属性是结构体切片的话,有效果吗?我试了下好像不行。
type A struct{
Name string `v:"required"`
}
type B struct{
BList []B
目前不支持,下个版本(v1.16)支持。
v1.16
type User struct { Pass Pass Id int Name string `valid:"name@required#请输入您的姓名"` }
把User改成这样就无法进行校验了,在实际应用中会遇到接收多层json数据的情况。
这是个好问题
是否可以支持 别名 国际化 从相关i18n文件获取
在做语言处理的时候,我按照教程拷贝了i18n文件。 设置中文显示,但是结构体name字段又是英文,显得不搭。
如果每次验证都要写一遍rule和 msg,又不那么方便。这块能够改进下。
if _, ok := errorMaps[key]; !ok { errorMaps[key] = make(map[string]string) }
我看到代码这块是在这里构造error消息。这块也没有回调处理字段alias的翻译。
而且手机好验证这块的翻译提示也不太正确,一般参数请求字段名是给开发人员 提示的,无需给用户展示,但是当我设置Mobile时,错误提示 Mobile 手机号码格式不正确,Mobile 和 手机号码 含义重复。二者应该用 attribute 替换。
所以这块别名的 翻译很重要
5 Comments
海亮
结构体里面有属性是结构体切片的话,有效果吗?我试了下好像不行。
type A struct{
Name string `v:"required"`
}
type B struct{
BList []B
}
郭强
目前不支持,下个版本(
v1.16
)支持。sanrentai
示例3,结构体嵌套校验
把User改成这样就无法进行校验了,在实际应用中会遇到接收多层json数据的情况。
佟巨华
这是个好问题
贾君宇
是否可以支持 别名 国际化 从相关i18n文件获取
在做语言处理的时候,我按照教程拷贝了i18n文件。 设置中文显示,但是结构体name字段又是英文,显得不搭。
如果每次验证都要写一遍rule和 msg,又不那么方便。这块能够改进下。
我看到代码这块是在这里构造error消息。这块也没有回调处理字段alias的翻译。
而且手机好验证这块的翻译提示也不太正确,一般参数请求字段名是给开发人员 提示的,无需给用户展示,但是当我设置Mobile时,错误提示 Mobile 手机号码格式不正确,Mobile 和 手机号码 含义重复。二者应该用 attribute 替换。
所以这块别名的 翻译很重要