...
Part of the acceptance criteria should include inline (real-time) validation vs form level validation testing (only when user hits Search button)
Currently the form has a combination of both.
Example:
Form-Level Validation
Empty Form Submission:
When user clicks "Search" with zero/no data entry in any form field
A WET compliant bulleted list is displayed of ALL required fields (missing mandatory fields)
Error message appears at top of page above the form
Includes date and non-date fields
Partial Form Submission:
When user enters SOME valid data (Both date fields)
Clicks "Search" with incomplete required fields
A WET compliant bulleted list is displayed of ALL required fields (missing mandatory fields)
Exclude previously validated date fields from error list
Date fields are not cleared out
Inline Validation (Validation occurs in real-time)
Date Field Validation:
On invalid date entry (onBlur)
Trigger inline error immediately above specific date field (error message between visible label and form field)
Error message specific to date format/range
Include WET formatting that includes the word "Error" in error messagetextÂ
On valid date correction
Remove error message dynamically
Allow progression to next input field
Special Date Scenarios:
Today's date entry
Permit field progression without errors
Date range changes
Valid to valid date: No error triggered
Valid to invalid date: Inline error displayed
Hope this helps
WCAG link regarding flashing and blinking content:
Understanding Success Criterion 2.3.1 | Understanding WCAG 2.0