You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
781 B
33 lines
781 B
{{# def.definitions }}
|
|
{{# def.errors }}
|
|
{{# def.setupKeyword }}
|
|
|
|
{{
|
|
var $key = 'key' + $lvl
|
|
, $idx = 'idx' + $lvl
|
|
, $matched = 'patternMatched' + $lvl
|
|
, $dataProperties = 'dataProperties' + $lvl
|
|
, $closingBraces = ''
|
|
, $ownProperties = it.opts.ownProperties;
|
|
}}
|
|
|
|
var {{=$valid}} = true;
|
|
{{? $ownProperties }}
|
|
var {{=$dataProperties}} = undefined;
|
|
{{?}}
|
|
|
|
{{~ $schema:$pProperty }}
|
|
var {{=$matched}} = false;
|
|
{{# def.iterateProperties }}
|
|
{{=$matched}} = {{= it.usePattern($pProperty) }}.test({{=$key}});
|
|
if ({{=$matched}}) break;
|
|
}
|
|
|
|
{{ var $missingPattern = it.util.escapeQuotes($pProperty); }}
|
|
if (!{{=$matched}}) {
|
|
{{=$valid}} = false;
|
|
{{# def.addError:'patternRequired' }}
|
|
} {{# def.elseIfValid }}
|
|
{{~}}
|
|
|
|
{{= $closingBraces }}
|
|
|