createForm()
Реализация фабричной функции
Call Signature
function createForm<T>(args): FormProxy<T>;
Defined in: core/utils/create-form.ts:333
Создать форму из FormModel + единой схемы (архитектура M1, рекомендуемый путь).
Type Parameters
T
T
Parameters
args
Модель данных, единая схема (component/componentProps/validators) и (опционально) поведение
Returns
FormProxy<T>
Типизированная форма с Proxy-доступом к полям
Example
import { createModel, createForm, validateFormModel } from '@reformer/core';
import { required, email, minLength } from '@reformer/core/validators';
interface UserForm {
email: string;
password: string;
}
const model = createModel<UserForm>({ email: '', password: '' });
const schema = {
children: [
{
value: model.$.email,
component: Input,
validators: [required(), email()],
},
{
value: model.$.password,
component: Input,
validators: [required(), minLength(8)],
},
],
};
const form = createForm<UserForm>({ model, schema });
// TypeScript знает о полях (нода привязана к сигналу модели):
form.email.setValue('test@mail.com');
// Валидация всей модели по схеме (sync + async):
const { valid } = await validateFormModel(model, schema);
Call Signature
function createForm<T>(config): FormProxy<T>;
Defined in: core/utils/create-form.ts:335
Создать форму из FormModel + единой схемы (архитектура M1, рекомендуемый путь).
Type Parameters
T
T
Parameters
config
Returns
FormProxy<T>
Типизированная форма с Proxy-доступом к полям
Example
import { createModel, createForm, validateFormModel } from '@reformer/core';
import { required, email, minLength } from '@reformer/core/validators';
interface UserForm {
email: string;
password: string;
}
const model = createModel<UserForm>({ email: '', password: '' });
const schema = {
children: [
{
value: model.$.email,
component: Input,
validators: [required(), email()],
},
{
value: model.$.password,
component: Input,
validators: [required(), minLength(8)],
},
],
};
const form = createForm<UserForm>({ model, schema });
// TypeScript знает о полях (нода привязана к сигналу модели):
form.email.setValue('test@mail.com');
// Валидация всей модели по схеме (sync + async):
const { valid } = await validateFormModel(model, schema);
Call Signature
function createForm<T>(schema): FormProxy<T>;
Defined in: core/utils/create-form.ts:355
Создать форму только со схемой полей.
Type Parameters
T
T
Parameters
schema
FormSchema<T>
Схема полей формы
Returns
FormProxy<T>
Типизированная форма с Proxy-доступом к полям
Deprecated
Legacy / back-compat: плоская FormSchema с инлайн-значениями (value: '') — путь
ДО архитектуры M1. Для нового кода используйте перегрузку createForm({ model, schema })
(значения принадлежат FormModel, валидаторы — фабрики в validators: [...]).
Example
const form = createForm<UserForm>({
email: { value: '', component: Input },
password: { value: '', component: Input },
});