--- /dev/null
+{{## def.checkMissingProperty:_properties:
+ {{~ _properties:$propertyKey:$i }}
+ {{?$i}} || {{?}}
+ {{
+ var $prop = it.util.getProperty($propertyKey)
+ , $useData = $data + $prop;
+ }}
+ ( ({{# def.noPropertyInData }}) && (missing{{=$lvl}} = {{= it.util.toQuotedString(it.opts.jsonPointers ? $propertyKey : $prop) }}) )
+ {{~}}
+#}}
+
+
+{{## def.errorMissingProperty:_error:
+ {{
+ var $propertyPath = 'missing' + $lvl
+ , $missingProperty = '\' + ' + $propertyPath + ' + \'';
+ if (it.opts._errorDataPathProperty) {
+ it.errorPath = it.opts.jsonPointers
+ ? it.util.getPathExpr($currentErrorPath, $propertyPath, true)
+ : $currentErrorPath + ' + ' + $propertyPath;
+ }
+ }}
+ {{# def.error:_error }}
+#}}
+
+
+{{## def.allErrorsMissingProperty:_error:
+ {{
+ var $prop = it.util.getProperty($propertyKey)
+ , $missingProperty = it.util.escapeQuotes($propertyKey)
+ , $useData = $data + $prop;
+ if (it.opts._errorDataPathProperty) {
+ it.errorPath = it.util.getPath($currentErrorPath, $propertyKey, it.opts.jsonPointers);
+ }
+ }}
+ if ({{# def.noPropertyInData }}) {
+ {{# def.addError:_error }}
+ }
+#}}