Projekt

Obecné

Profil

Stáhnout (1.6 KB) Statistiky
| Větev: | Revize:
1
{{# def.definitions }}
2
{{# def.errors }}
3
{{# def.setupKeyword }}
4
{{# def.setupNextLevel }}
5

    
6

    
7
{{## def.validateIfClause:_clause:
8
  {{
9
    $it.schema = it.schema['_clause'];
10
    $it.schemaPath = it.schemaPath + '._clause';
11
    $it.errSchemaPath = it.errSchemaPath + '/_clause';
12
  }}
13
  {{# def.insertSubschemaCode }}
14
  {{=$valid}} = {{=$nextValid}};
15
  {{? $thenPresent && $elsePresent }}
16
    {{ $ifClause = 'ifClause' + $lvl; }}
17
    var {{=$ifClause}} = '_clause';
18
  {{??}}
19
    {{ $ifClause = '\'_clause\''; }}
20
  {{?}}
21
#}}
22

    
23
{{
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;
29
}}
30

    
31
{{? $thenPresent || $elsePresent }}
32
  {{
33
    var $ifClause;
34
    $it.createErrors = false;
35
    $it.schema = $schema;
36
    $it.schemaPath = $schemaPath;
37
    $it.errSchemaPath = $errSchemaPath;
38
  }}
39
  var {{=$errs}} = errors;
40
  var {{=$valid}} = true;
41

    
42
  {{# def.setCompositeRule }}
43
  {{# def.insertSubschemaCode }}
44
  {{ $it.createErrors = true; }}
45
  {{# def.resetErrors }}
46
  {{# def.resetCompositeRule }}
47

    
48
  {{? $thenPresent }}
49
    if ({{=$nextValid}}) {
50
      {{# def.validateIfClause:then }}
51
    }
52
    {{? $elsePresent }}
53
      else {
54
    {{?}}
55
  {{??}}
56
    if (!{{=$nextValid}}) {
57
  {{?}}
58

    
59
  {{? $elsePresent }}
60
      {{# def.validateIfClause:else }}
61
    }
62
  {{?}}
63

    
64
  if (!{{=$valid}}) {
65
    {{# def.extraError:'if' }}
66
  } 
67
  {{? $breakOnError }} else { {{?}}
68

    
69
  {{# def.cleanUp }}
70
{{??}}
71
  {{? $breakOnError }}
72
    if (true) {
73
  {{?}}
74
{{?}}
75

    
(18-18/30)