Struct
的属性会有默认值,在某些情况下会引起required
规则的失效。例如:
type User struct {
Name string `v:"required"`
Age uint `v:"required"`
}
在该结构体校验中,Age
属性的required
校验将会失效,因为Age
即便没有输入也会有默认值0
。
这里有三种解决方案:
Struct
校验的Assoc
联合校验方法设置联合校验参数,在校验Struct
类型参数时,参数值将以Assoc
方法中给定的参数为准执行校验。required
规则,例如以上示例中将Age
属性的校验规则修改为required|min:1
将能达到业务校验的效果。*int
、*float64
、*g.Var
等,通过指针类型默认值为nil
的特点绕过了这个问题。备案信息: 粤ICP备15087711号-2
Copyright © 2008-2024 啊嘎哇在线工具箱 All Rights.
本站所有资料来源于网络,版权归原作者所有,仅作学习交流使用,如不慎侵犯了您的权利,请联系我们。