errors.def (8282B)
1 {{# def.definitions }} 2 3 {{## def._error:_rule: 4 {{ 'istanbul ignore else'; }} 5 {{? it.createErrors !== false }} 6 { 7 keyword: '{{= $errorKeyword || _rule }}' 8 , dataPath: (dataPath || '') + {{= it.errorPath }} 9 , schemaPath: {{=it.util.toQuotedString($errSchemaPath)}} 10 , params: {{# def._errorParams[_rule] }} 11 {{? it.opts.messages !== false }} 12 , message: {{# def._errorMessages[_rule] }} 13 {{?}} 14 {{? it.opts.verbose }} 15 , schema: {{# def._errorSchemas[_rule] }} 16 , parentSchema: validate.schema{{=it.schemaPath}} 17 , data: {{=$data}} 18 {{?}} 19 } 20 {{??}} 21 {} 22 {{?}} 23 #}} 24 25 26 {{## def._addError:_rule: 27 if (vErrors === null) vErrors = [err]; 28 else vErrors.push(err); 29 errors++; 30 #}} 31 32 33 {{## def.addError:_rule: 34 var err = {{# def._error:_rule }}; 35 {{# def._addError:_rule }} 36 #}} 37 38 39 {{## def.error:_rule: 40 {{# def.beginDefOut}} 41 {{# def._error:_rule }} 42 {{# def.storeDefOut:__err }} 43 44 {{? !it.compositeRule && $breakOnError }} 45 {{ 'istanbul ignore if'; }} 46 {{? it.async }} 47 throw new ValidationError([{{=__err}}]); 48 {{??}} 49 validate.errors = [{{=__err}}]; 50 return false; 51 {{?}} 52 {{??}} 53 var err = {{=__err}}; 54 {{# def._addError:_rule }} 55 {{?}} 56 #}} 57 58 59 {{## def.extraError:_rule: 60 {{# def.addError:_rule}} 61 {{? !it.compositeRule && $breakOnError }} 62 {{ 'istanbul ignore if'; }} 63 {{? it.async }} 64 throw new ValidationError(vErrors); 65 {{??}} 66 validate.errors = vErrors; 67 return false; 68 {{?}} 69 {{?}} 70 #}} 71 72 73 {{## def.checkError:_rule: 74 if (!{{=$valid}}) { 75 {{# def.error:_rule }} 76 } 77 #}} 78 79 80 {{## def.resetErrors: 81 errors = {{=$errs}}; 82 if (vErrors !== null) { 83 if ({{=$errs}}) vErrors.length = {{=$errs}}; 84 else vErrors = null; 85 } 86 #}} 87 88 89 {{## def.concatSchema:{{?$isData}}' + {{=$schemaValue}} + '{{??}}{{=$schema}}{{?}}#}} 90 {{## def.appendSchema:{{?$isData}}' + {{=$schemaValue}}{{??}}{{=$schemaValue}}'{{?}}#}} 91 {{## def.concatSchemaEQ:{{?$isData}}' + {{=$schemaValue}} + '{{??}}{{=it.util.escapeQuotes($schema)}}{{?}}#}} 92 93 {{## def._errorMessages = { 94 'false schema': "'boolean schema is false'", 95 $ref: "'can\\\'t resolve reference {{=it.util.escapeQuotes($schema)}}'", 96 additionalItems: "'should NOT have more than {{=$schema.length}} items'", 97 additionalProperties: "'{{? it.opts._errorDataPathProperty }}is an invalid additional property{{??}}should NOT have additional properties{{?}}'", 98 anyOf: "'should match some schema in anyOf'", 99 const: "'should be equal to constant'", 100 contains: "'should contain a valid item'", 101 dependencies: "'should have {{? $deps.length == 1 }}property {{= it.util.escapeQuotes($deps[0]) }}{{??}}properties {{= it.util.escapeQuotes($deps.join(\", \")) }}{{?}} when property {{= it.util.escapeQuotes($property) }} is present'", 102 'enum': "'should be equal to one of the allowed values'", 103 format: "'should match format \"{{#def.concatSchemaEQ}}\"'", 104 'if': "'should match \"' + {{=$ifClause}} + '\" schema'", 105 _limit: "'should be {{=$opStr}} {{#def.appendSchema}}", 106 _exclusiveLimit: "'{{=$exclusiveKeyword}} should be boolean'", 107 _limitItems: "'should NOT have {{?$keyword=='maxItems'}}more{{??}}fewer{{?}} than {{#def.concatSchema}} items'", 108 _limitLength: "'should NOT be {{?$keyword=='maxLength'}}longer{{??}}shorter{{?}} than {{#def.concatSchema}} characters'", 109 _limitProperties:"'should NOT have {{?$keyword=='maxProperties'}}more{{??}}fewer{{?}} than {{#def.concatSchema}} properties'", 110 multipleOf: "'should be multiple of {{#def.appendSchema}}", 111 not: "'should NOT be valid'", 112 oneOf: "'should match exactly one schema in oneOf'", 113 pattern: "'should match pattern \"{{#def.concatSchemaEQ}}\"'", 114 propertyNames: "'property name \\'{{=$invalidName}}\\' is invalid'", 115 required: "'{{? it.opts._errorDataPathProperty }}is a required property{{??}}should have required property \\'{{=$missingProperty}}\\'{{?}}'", 116 type: "'should be {{? $typeIsArray }}{{= $typeSchema.join(\",\") }}{{??}}{{=$typeSchema}}{{?}}'", 117 uniqueItems: "'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)'", 118 custom: "'should pass \"{{=$rule.keyword}}\" keyword validation'", 119 patternRequired: "'should have property matching pattern \\'{{=$missingPattern}}\\''", 120 switch: "'should pass \"switch\" keyword validation'", 121 _formatLimit: "'should be {{=$opStr}} \"{{#def.concatSchemaEQ}}\"'", 122 _formatExclusiveLimit: "'{{=$exclusiveKeyword}} should be boolean'" 123 } #}} 124 125 126 {{## def.schemaRefOrVal: {{?$isData}}validate.schema{{=$schemaPath}}{{??}}{{=$schema}}{{?}} #}} 127 {{## def.schemaRefOrQS: {{?$isData}}validate.schema{{=$schemaPath}}{{??}}{{=it.util.toQuotedString($schema)}}{{?}} #}} 128 129 {{## def._errorSchemas = { 130 'false schema': "false", 131 $ref: "{{=it.util.toQuotedString($schema)}}", 132 additionalItems: "false", 133 additionalProperties: "false", 134 anyOf: "validate.schema{{=$schemaPath}}", 135 const: "validate.schema{{=$schemaPath}}", 136 contains: "validate.schema{{=$schemaPath}}", 137 dependencies: "validate.schema{{=$schemaPath}}", 138 'enum': "validate.schema{{=$schemaPath}}", 139 format: "{{#def.schemaRefOrQS}}", 140 'if': "validate.schema{{=$schemaPath}}", 141 _limit: "{{#def.schemaRefOrVal}}", 142 _exclusiveLimit: "validate.schema{{=$schemaPath}}", 143 _limitItems: "{{#def.schemaRefOrVal}}", 144 _limitLength: "{{#def.schemaRefOrVal}}", 145 _limitProperties:"{{#def.schemaRefOrVal}}", 146 multipleOf: "{{#def.schemaRefOrVal}}", 147 not: "validate.schema{{=$schemaPath}}", 148 oneOf: "validate.schema{{=$schemaPath}}", 149 pattern: "{{#def.schemaRefOrQS}}", 150 propertyNames: "validate.schema{{=$schemaPath}}", 151 required: "validate.schema{{=$schemaPath}}", 152 type: "validate.schema{{=$schemaPath}}", 153 uniqueItems: "{{#def.schemaRefOrVal}}", 154 custom: "validate.schema{{=$schemaPath}}", 155 patternRequired: "validate.schema{{=$schemaPath}}", 156 switch: "validate.schema{{=$schemaPath}}", 157 _formatLimit: "{{#def.schemaRefOrQS}}", 158 _formatExclusiveLimit: "validate.schema{{=$schemaPath}}" 159 } #}} 160 161 162 {{## def.schemaValueQS: {{?$isData}}{{=$schemaValue}}{{??}}{{=it.util.toQuotedString($schema)}}{{?}} #}} 163 164 {{## def._errorParams = { 165 'false schema': "{}", 166 $ref: "{ ref: '{{=it.util.escapeQuotes($schema)}}' }", 167 additionalItems: "{ limit: {{=$schema.length}} }", 168 additionalProperties: "{ additionalProperty: '{{=$additionalProperty}}' }", 169 anyOf: "{}", 170 const: "{ allowedValue: schema{{=$lvl}} }", 171 contains: "{}", 172 dependencies: "{ property: '{{= it.util.escapeQuotes($property) }}', missingProperty: '{{=$missingProperty}}', depsCount: {{=$deps.length}}, deps: '{{= it.util.escapeQuotes($deps.length==1 ? $deps[0] : $deps.join(\", \")) }}' }", 173 'enum': "{ allowedValues: schema{{=$lvl}} }", 174 format: "{ format: {{#def.schemaValueQS}} }", 175 'if': "{ failingKeyword: {{=$ifClause}} }", 176 _limit: "{ comparison: {{=$opExpr}}, limit: {{=$schemaValue}}, exclusive: {{=$exclusive}} }", 177 _exclusiveLimit: "{}", 178 _limitItems: "{ limit: {{=$schemaValue}} }", 179 _limitLength: "{ limit: {{=$schemaValue}} }", 180 _limitProperties:"{ limit: {{=$schemaValue}} }", 181 multipleOf: "{ multipleOf: {{=$schemaValue}} }", 182 not: "{}", 183 oneOf: "{ passingSchemas: {{=$passingSchemas}} }", 184 pattern: "{ pattern: {{#def.schemaValueQS}} }", 185 propertyNames: "{ propertyName: '{{=$invalidName}}' }", 186 required: "{ missingProperty: '{{=$missingProperty}}' }", 187 type: "{ type: '{{? $typeIsArray }}{{= $typeSchema.join(\",\") }}{{??}}{{=$typeSchema}}{{?}}' }", 188 uniqueItems: "{ i: i, j: j }", 189 custom: "{ keyword: '{{=$rule.keyword}}' }", 190 patternRequired: "{ missingPattern: '{{=$missingPattern}}' }", 191 switch: "{ caseIndex: {{=$caseIndex}} }", 192 _formatLimit: "{ comparison: {{=$opExpr}}, limit: {{#def.schemaValueQS}}, exclusive: {{=$exclusive}} }", 193 _formatExclusiveLimit: "{}" 194 } #}}