Skip to content
PlaygroundForm Builder

hyperjump/json-schema

Form validator implementation based on @hyperjump/json-schema.

Terminal window
npm i @sjsf-lab/hyperjump-validator

Required peer dependencies: @hyperjump/json-schema@1.17.0 @sjsf/form@3.5.0

<script lang="ts">
  import {
    createFormValidatorFactory,
    fromAst,
  } from "@sjsf-lab/hyperjump-validator/precompile";
  import { BasicForm, createForm, getValueSnapshot } from "@sjsf/form";
  import { resolver } from "@sjsf/form/resolvers/compat";
  import "@hyperjump/json-schema/formats-lite";
  import "@hyperjump/json-schema/draft-07";

  import * as defaults from "$lib/sjsf/defaults";

  import { ast } from "./ast";
  import { schema, fieldsValidationMode } from "./patched-schema";

  const form = createForm({
    ...defaults,
    schema,
    validator: createFormValidatorFactory({
      validatorRetriever: fromAst(ast),
    }),
    fieldsValidationMode,
    resolver,
  });
</script>

<BasicForm {form} novalidate />

<pre>{JSON.stringify(getValueSnapshot(form), null, 2)}</pre>

Run the following command for schema compilation:

Terminal window
node compile-schema-script.ts