- Fix has_unique flag reading from field definition (was scanning fragment fields) - Implement duplicate validation in CLI and TUI backends - Add item counter update in Web backend after add/delete operations - Refactor Web JavaScript: remove global constants, use closure-based state per group - Store repeating group config in data-* attributes instead of global variables - Update documentation and examples with unique = true attribute - All backends now enforce unique items validation consistently
Backend-Specific Examples
Examples demonstrating each backend (CLI, TUI, Web) with features unique to that platform.
CLI Backend
See: cli/README.md
Interactive command-line forms with:
- Inline validation
- Progress tracking
- Terminal-based UI
TUI Backend
See: tui/README.md
Text User Interface forms with:
- Interactive navigation
- Real-time feedback
- Mouse/keyboard support
Web Backend
See: web/README.md
Web-based form rendering with:
- HTML/CSS styling
- Browser compatibility
- REST API integration
Common Examples Format
Each backend can use TOML form definitions or Rust code:
TOML - Configuration-driven (faster iteration):
cargo run -p typedialog-web -- --config registration_form.toml
Rust - Programmatic control (advanced customization):
cargo run --example form_with_autocompletion
Feature Compatibility Matrix
| Feature | CLI | TUI | Web |
|---|---|---|---|
| Conditional Fields | ✓ | ✓ | ✓ |
| Autocompletion | ✓ | ✓ | ✓ |
| Validation | ✓ | ✓ | ✓ |
| Custom Styling | ✗ | ✓ | ✓ |
| i18n Support | ✓ | ✓ | ✓ |