diff --git a/src/core/plugins/json-schema-2020-12/components/keywords/Contains.jsx b/src/core/plugins/json-schema-2020-12/components/keywords/Contains.jsx index f58d4f50..ac1af84b 100644 --- a/src/core/plugins/json-schema-2020-12/components/keywords/Contains.jsx +++ b/src/core/plugins/json-schema-2020-12/components/keywords/Contains.jsx @@ -9,17 +9,18 @@ import { useFn, useComponent } from "../../hooks" const Contains = ({ schema }) => { const fn = useFn() const JSONSchema = useComponent("JSONSchema") - const name = ( - - Contains - - ) /** * Rendering. */ if (!fn.hasKeyword(schema, "contains")) return null + const name = ( + + Contains + + ) + return (
diff --git a/src/core/plugins/json-schema-2020-12/fn.js b/src/core/plugins/json-schema-2020-12/fn.js index dd02fad4..dd378633 100644 --- a/src/core/plugins/json-schema-2020-12/fn.js +++ b/src/core/plugins/json-schema-2020-12/fn.js @@ -256,19 +256,33 @@ export const stringifyConstraints = (schema) => { const constraints = [] // validation Keywords for Numeric Instances (number and integer) - const constraintMultipleOf = stringifyConstraintMultipleOf(schema) - if (constraintMultipleOf !== null) constraints.push(constraintMultipleOf) - const constraintNumberRange = stringifyConstraintNumberRange(schema) - if (constraintNumberRange !== null) constraints.push(constraintNumberRange) + const multipleOf = stringifyConstraintMultipleOf(schema) + if (multipleOf !== null) constraints.push(multipleOf) + const numberRange = stringifyConstraintNumberRange(schema) + if (numberRange !== null) constraints.push(numberRange) // validation Keywords for Strings - const constraintStringRange = stringifyConstraintRange( + const stringRange = stringifyConstraintRange( "characters", schema?.minLength, schema?.maxLength ) - if (constraintStringRange !== null) constraints.push(constraintStringRange) + if (stringRange !== null) constraints.push(stringRange) if (schema?.pattern) constraints.push(`matches ${schema?.pattern}`) + // validation Keywords for Arrays + const arrayRange = stringifyConstraintRange( + schema?.hasUniqueItems ? "unique items" : "items", + schema?.minItems, + schema?.maxItems + ) + if (arrayRange !== null) constraints.push(arrayRange) + const containsRange = stringifyConstraintRange( + "contained items", + schema?.minContains, + schema?.maxContains + ) + if (containsRange !== null) constraints.push(containsRange) + return constraints }