3 {{# def.setupKeyword }}
4 {{# def.setupNextLevel }}
7 {{## def.validateIfClause:_clause:
9 $it.schema = it.schema['_clause'];
10 $it.schemaPath = it.schemaPath + '._clause';
11 $it.errSchemaPath = it.errSchemaPath + '/_clause';
13 {{# def.insertSubschemaCode }}
14 {{=$valid}} = {{=$nextValid}};
15 {{? $thenPresent && $elsePresent }}
16 {{ $ifClause = 'ifClause' + $lvl; }}
17 var {{=$ifClause}} = '_clause';
19 {{ $ifClause = '\'_clause\''; }}
24 var $thenSch = it.schema['then']
25 , $elseSch = it.schema['else']
26 , $thenPresent = $thenSch !== undefined && {{# def.nonEmptySchema:$thenSch }}
27 , $elsePresent = $elseSch !== undefined && {{# def.nonEmptySchema:$elseSch }}
28 , $currentBaseId = $it.baseId;
31 {{? $thenPresent || $elsePresent }}
34 $it.createErrors = false;
36 $it.schemaPath = $schemaPath;
37 $it.errSchemaPath = $errSchemaPath;
39 var {{=$errs}} = errors;
40 var {{=$valid}} = true;
42 {{# def.setCompositeRule }}
43 {{# def.insertSubschemaCode }}
44 {{ $it.createErrors = true; }}
45 {{# def.resetErrors }}
46 {{# def.resetCompositeRule }}
49 if ({{=$nextValid}}) {
50 {{# def.validateIfClause:then }}
56 if (!{{=$nextValid}}) {
60 {{# def.validateIfClause:else }}
65 {{# def.extraError:'if' }}
67 {{? $breakOnError }} else { {{?}}