2025-12-18 01:11:17 +00:00
..
2025-12-18 01:11:17 +00:00
2025-12-18 01:11:17 +00:00
2025-12-18 01:11:17 +00:00
2025-12-18 01:11:17 +00:00

Advanced Features

Examples showcasing conditional logic, dynamic fields, and complex forms.

Files

Conditional Logic

  • conditional_form.toml - Fields that show/hide based on conditions
  • conditional_sections.toml - Sections visible based on form state
  • conditional_required_demo.rs - Programmatic example with conditional validation

Dynamic Display

  • display_items_demo.toml - Complex item rendering and formatting

Usage

TOML Forms (CLI/Web)

# CLI
cargo run --example conditional_form

# Web
cargo run -p typedialog-web -- --config conditional_form.toml

Rust Examples (with full control)

cargo run --example conditional_required_demo

Features Demonstrated

  • Conditional visibility - Show/hide fields based on other fields
  • Conditional requirements - Change validation rules dynamically
  • Section collapsing - Organize complex forms hierarchically
  • Custom display logic - Complex field rendering
  • State management - Track form state and dependencies

Patterns

Conditional Field Example

[fields.experience]
type = "select"
label = "Experience Level"
options = ["Junior", "Senior"]

[fields.years]
type = "number"
label = "Years of Experience"
visible_when = { experience = "Senior" }
required_when = { experience = "Senior" }

Conditional Section Example

[sections.advanced_options]
visible_when = { show_advanced = true }

[sections.advanced_options.fields.custom_setting]
type = "text"