don't validate MinItems with unknowns in a block

If there are unknowns, the block may have come from a dynamic
declaration, and we can't validate MinItems. Once the blocks are
expanded, we will get the full config for validation without any unknown
values.
pull/22221/head
James Bardin 7 years ago
parent 67dbd6d345
commit 4bed030d40

@ -1456,6 +1456,15 @@ func (m schemaMap) validateList(
"%s: should be a list", k)}
}
// We can't validate list length if this came from a dynamic block.
// Since there's no way to determine if something was from a dynamic block
// at this point, we're going to skip validation in the new protocol if
// there are any unknowns. Validate will eventually be called again once
// all values are known.
if isProto5() && !isWhollyKnown(raw) {
return nil, nil
}
// Validate length
if schema.MaxItems > 0 && rawV.Len() > schema.MaxItems {
return nil, []error{fmt.Errorf(

Loading…
Cancel
Save