관리-도구
편집 파일: oneOf.jst
{{# def.definitions }} {{# def.errors }} {{# def.setupKeyword }} {{# def.setupNextLevel }} {{ var $currentBaseId = $it.baseId , $prevValid = 'prevValid' + $lvl , $passingSchemas = 'passingSchemas' + $lvl; }} var {{=$errs}} = errors , {{=$prevValid}} = false , {{=$valid}} = false , {{=$passingSchemas}} = null; {{# def.setCompositeRule }} {{~ $schema:$sch:$i }} {{? {{# def.nonEmptySchema:$sch }} }} {{ $it.schema = $sch; $it.schemaPath = $schemaPath + '[' + $i + ']'; $it.errSchemaPath = $errSchemaPath + '/' + $i; }} {{# def.insertSubschemaCode }} {{??}} var {{=$nextValid}} = true; {{?}} {{? $i }} if ({{=$nextValid}} && {{=$prevValid}}) { {{=$valid}} = false; {{=$passingSchemas}} = [{{=$passingSchemas}}, {{=$i}}]; } else { {{ $closingBraces += '}'; }} {{?}} if ({{=$nextValid}}) { {{=$valid}} = {{=$prevValid}} = true; {{=$passingSchemas}} = {{=$i}}; } {{~}} {{# def.resetCompositeRule }} {{= $closingBraces }} if (!{{=$valid}}) { {{# def.extraError:'oneOf' }} } else { {{# def.resetErrors }} {{? it.opts.allErrors }} } {{?}}