Skip to content

Render filter validation errors on the original control instead of a duplicate second row #470

Description

@BorisTyshkevich

Problem

When a Dashboard filter has a validation/error state, the UI renders a second row containing the warning icon and the same type text as the original control, for example Array(Int32).

This looks like a duplicate filter value/control rather than an error state, increases the filter-strip height, and breaks alignment with the other filters.

Required behaviour

Render the error state on the original filter control, without creating a second row or repeating the control text.

The existing warning treatment is otherwise appropriate:

  • use the yellow warning/error styling;
  • show the warning icon on the original control;
  • expose the full error message in hover/focus text;
  • keep the original value/type text in place;
  • preserve the normal one-row filter layout.

Example:

exception_code:  [warning icon] Array(Int32)

The warning icon and yellow treatment belong to that existing control. There must not be another Array(Int32) element below it.

Accessibility

  • The full diagnostic must be available on both pointer hover and keyboard focus.
  • The control's accessible description should include the diagnostic.
  • Do not rely on colour alone; keep the warning icon.

Acceptance criteria

  • A filter diagnostic does not add a second visual row.
  • The warning icon and yellow styling are applied to the original filter control.
  • The value/type label is rendered only once.
  • The full diagnostic is available through hover and keyboard focus.
  • Clearing the diagnostic restores the normal control styling without changing layout.
  • Multiple filters with diagnostics remain aligned in the same filter row.
  • Tests cover scalar and array-valued filters, including Array(Int32) and Array(String).

Non-goals

  • Changing diagnostic severity or validation rules.
  • Replacing the existing yellow warning treatment.
  • Showing persistent inline error-message text in the filter strip.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions