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