3 {{# def.setupKeyword }}
4 {{# def.setupNextLevel }}
9 , $dataNxt = $it.dataLevel = it.dataLevel + 1
10 , $nextData = 'data' + $dataNxt
11 , $currentBaseId = it.baseId
12 , $nonEmptySchema = {{# def.nonEmptySchema:$schema }};
15 var {{=$errs}} = errors;
18 {{? $nonEmptySchema }}
19 {{# def.setCompositeRule }}
23 $it.schemaPath = $schemaPath;
24 $it.errSchemaPath = $errSchemaPath;
27 var {{=$nextValid}} = false;
29 for (var {{=$idx}} = 0; {{=$idx}} < {{=$data}}.length; {{=$idx}}++) {
31 $it.errorPath = it.util.getPathExpr(it.errorPath, $idx, it.opts.jsonPointers, true);
32 var $passData = $data + '[' + $idx + ']';
33 $it.dataPathArr[$dataNxt] = $idx;
36 {{# def.generateSubschemaCode }}
37 {{# def.optimizeValidate }}
39 if ({{=$nextValid}}) break;
42 {{# def.resetCompositeRule }}
45 if (!{{=$nextValid}}) {
47 if ({{=$data}}.length == 0) {
50 {{# def.error:'contains' }}
52 {{? $nonEmptySchema }}
53 {{# def.resetErrors }}
55 {{? it.opts.allErrors }} } {{?}}