Демо
bash
npm install
npm run demoОткрывается на http://localhost:5174:
| Страница | Что показывает |
|---|---|
| Базовая форма | FieldDefinition[] со встроенными валидаторами |
| JSON-схема | Схема, управляемая сервером, с валидаторами на основе правил |
| OpenAPI / JSON Schema | parseOpenAPI() из тела запроса + $ref, parseJSONSchema() отдельно |
| Схема Zod | parseZod() с выводом типов |
| Схема Yup | parseYup() с ограничениями Yup |
| Условные поля | visible / disabled как функция и строковое выражение |
| Маскирование ввода | Все пресеты + кастомные паттерны |
| FormRenderer | Переопределение слотов, кастомная карта компонентов |
| Поля-массивы | type: 'array' + API useFieldArray |
| Многошаговый визард | useMultiStepForm + прогресс шагов |
| Зависимые поля | Синхронные/асинхронные функции options, defaultValue как функция |
| Кастомный реестр | provideRegistry заменяет встроенный чекбокс на PillToggle |
| Загрузка файлов | Drag-and-drop, валидаторы fileType/fileSize/fileCount |
| Ошибки с сервера | applyServerErrors() с имитацией ответа Laravel 422 |
| Тема Tailwind | Стандартный FormRenderer против TailwindFormRenderer бок о бок |
| UI-темы | ShadcnFormRenderer / PrimeVueFormRenderer / NaiveFormRenderer, та же схема |
| Доступность | Атрибуты aria-*, fieldset/legend для групп radio |