Skip to main content

Module validation_error

Module validation_error 

Source
Expand description

Inline validation error display widget. Inline validation error display widget.

Displays validation errors near form fields with:

  • Configurable error styling (default: red text with icon)
  • Smooth appearance animation via opacity interpolation
  • Screen reader accessibility (ARIA error association via semantic info)

§Example

use ftui_widgets::{ValidationErrorDisplay, ValidationErrorState};

// Simple inline error
let error = ValidationErrorDisplay::new("This field is required");
let mut state = ValidationErrorState::default();
error.render(area, &mut frame, &mut state);

// With custom styling
let error = ValidationErrorDisplay::new("Invalid email address")
    .with_icon("!")
    .with_style(Style::new().fg(PackedRgba::rgb(255, 100, 100)));

§Invariants (Alien Artifact)

  1. Icon presence: Icon is always rendered when error is visible
  2. Animation bounds: Opacity is clamped to [0.0, 1.0]
  3. Width calculation: Total width = icon_width + 1 + message_width
  4. Accessibility: When rendered, screen readers can announce error text

§Failure Modes

ScenarioBehavior
Empty messageRenders icon only
Zero-width areaNo-op, state unchanged
Very narrow areaTruncates message with ellipsis
Animation overflowSaturates at 0.0 or 1.0

Structs§

ValidationErrorDisplay
A widget for displaying inline validation errors.
ValidationErrorState
State for validation error animation and accessibility.

Constants§

ANIMATION_DURATION_MS
Default animation duration.
ERROR_BG_DEFAULT
Default error background color (dark red).
ERROR_FG_DEFAULT
Default error foreground color (red).
ERROR_ICON_DEFAULT
Default error icon.