改进gvalid对struct的string属性的默认值非必需校验

This commit is contained in:
John
2018-08-30 21:47:27 +08:00
parent 7af71901fe
commit 0c0dd30377
3 changed files with 20 additions and 2 deletions

View File

@ -395,8 +395,8 @@ func CheckMap(params map[string]interface{}, rules map[string]string, msgs...map
}
msg, _ := customMsgs[key]
if m := Check(value, rule, msg, params); m != nil {
// 如果值为nil并且不需要require*验证时,其他验证失效
if value == nil {
// 如果值为nil|""并且不需要require*验证时,其他验证失效
if value == nil || gconv.String(value) == "" {
required := false;
for k, _ := range m {
if strings.Index(k, "required") != -1 {

View File

@ -0,0 +1,18 @@
package main
import (
"gitee.com/johng/gf/g/util/gutil"
"gitee.com/johng/gf/g/util/gvalid"
)
// string默认值校验
func main() {
type User struct {
Uid string `gvalid:"uid@integer"`
}
user := &User{}
gutil.Dump(gvalid.CheckStruct(user, nil))
}