Introduction
Build dynamic, validated forms with visual editing capabilities
Vyuh Forms
Vyuh Forms is a comprehensive form management system for Flutter applications, providing both a powerful runtime form engine and a visual form designer. Build complex, multi-step forms with validation, conditional logic, and seamless integration with the Entity System.
Overview
The Forms ecosystem consists of two complementary packages:
vyuh_feature_forms
The runtime form engine that renders and manages forms in your Flutter application.
- Field Types: 20+ built-in field types (text, number, date, select, checkbox, etc.)
- Validation: Built-in validators and custom validation rules
- Multi-Step Forms: Wizard-style forms with progress tracking
- Conditional Logic: Show/hide fields based on other field values
- Formula Fields: Calculated fields using expressions
- State Management: Reactive form state with MobX
- Submission Handling: Flexible submission with success/error handling
vyuh_form_editor
Visual form designer that allows drag-and-drop form creation without code.
- Visual Designer: Drag-and-drop interface for building forms
- Field Palette: All available field types in a searchable palette
- Live Preview: See your form as you build it
- Property Editor: Configure field properties visually
- JSON Export: Export forms as JSON configuration
- Import/Export: Save and load form designs
Key Features
🎨 Rich Field Library
Over 20 field types out of the box:
- Text fields (single-line, multi-line, rich text)
- Number fields (integer, decimal, currency)
- Date/Time pickers
- Selection fields (dropdown, radio, checkbox)
- File uploads
- Signature capture
- Rating fields
- And more...
✅ Powerful Validation
- Required field validation
- Pattern matching (regex)
- Min/max length
- Min/max value
- Email validation
- URL validation
- Custom validators
- Async validation
- Cross-field validation
📝 Multi-Step Forms
- Wizard-style workflows
- Progress indicators
- Step validation
- Navigation between steps
- Conditional step visibility
- Save progress
- Review before submit
🧮 Advanced Features
- Formula Fields: Calculate values from other fields
- Conditional Logic: Show/hide fields dynamically
- Dependent Fields: Cascade selections
- Field Masking: Format input (phone, SSN, etc.)
- Auto-save: Save form state automatically
- Prefill Data: Initialize forms with existing data
🔗 Entity Integration
Seamlessly integrate with the Entity System:
- Auto-generate forms from entity schemas
- Validate against entity constraints
- CRUD operations with forms
- Activity tracking for form submissions
- Permission-based field visibility
Use Cases
Vyuh Forms is perfect for:
- Data Collection: Surveys, registrations, applications
- Entity Management: Create/edit business entities
- Workflow Forms: Multi-step approval processes
- Configuration: Settings and preferences
- User Input: Any scenario requiring validated user input
Getting Started
Architecture
// Form Definition
final form = FormBuilder(
title: 'User Registration',
fields: [
TextField(
name: 'email',
label: 'Email',
validators: [required(), email()],
),
PasswordField(
name: 'password',
label: 'Password',
validators: [required(), minLength(8)],
),
],
onSubmit: (data) async {
// Handle submission
await registerUser(data);
},
);
// Render Form
FormRenderer(form: form)What's Next?
Ready to build forms? Start with our Getting Started guide!