feat/conf_map_required (#4405)

Co-authored-by: aiden.ma <Aiden.ma@yijinin.com>
This commit is contained in:
MarkJoyMa
2025-01-13 01:13:41 +08:00
committed by GitHub
parent 11c47d23df
commit 12071d17b4
2 changed files with 41 additions and 1 deletions

View File

@@ -919,12 +919,16 @@ func (u *Unmarshaler) processNamedFieldWithoutValue(fieldType reflect.Type, valu
}
switch fieldKind {
case reflect.Array, reflect.Map, reflect.Slice:
case reflect.Array, reflect.Slice:
if !opts.optional() {
return u.processFieldNotFromString(fieldType, value, valueWithParent{
value: emptyMap,
}, opts, fullName)
}
case reflect.Map:
if !opts.optional() {
return newInitError(fullName)
}
case reflect.Struct:
if !opts.optional() {
required, err := structValueRequired(u.key, derefedType)