Skip to content

API reference > @kontsedal/olas-core > Form

Form type ​

A nested form. Created via createForm(ctx, schema, options?). Spec §8, §20.7.

A form is a ReadSignal of its aggregate value, like a Field: form.value is the structurally-typed FormValue<S>, and form.subscribe fires when any leaf changes. errors mirrors the value's shape withstring[] | undefined. flatErrors is a flattened view for rendering a single error summary.

Signature:

typescript
type Form<S extends FormSchema> = ReadSignal<FormValue<S>> & {
  readonly fields: { [K in keyof S]: S[K]; };
  readonly errors: ReadSignal<FormErrors<S>>;
  readonly topLevelErrors: ReadSignal<string[]>;
  readonly flatErrors: ReadSignal<Array<{
    path: string;
    errors: string[];
  }>>;
  readonly isValid: ReadSignal<boolean>;
  readonly isDirty: ReadSignal<boolean>;
  readonly touched: ReadSignal<boolean>;
  readonly isValidating: ReadSignal<boolean>;
  readonly dirtyFields: ReadSignal<string[]>;
  readonly isSubmitting: ReadSignal<boolean>;
  readonly submitCount: ReadSignal<number>;
  readonly submitError: ReadSignal<unknown>;
  set(partial: DeepPartial<FormValue<S>>): void;
  setAsInitial(partial: DeepPartial<FormValue<S>>): void;
  reset(): void;
  clearSubtree(path: string): void;
  markAllTouched(): void;
  validate(): Promise<boolean>;
  submit<R = unknown>(handler: (value: FormValue<S>) => R | Promise<R>, options?: SubmitOptions): Promise<SubmitResult<Awaited<R>>>;
  setErrors(errors: Record<string, ReadonlyArray<string>>): void;
  dispose(): void;
};

References: FormSchema, ReadSignal, FormValue, FormErrors, DeepPartial, SubmitOptions, SubmitResult

Released under the MIT License.