feat(calendar): inline field-level validation for the appointment form (PMS-578) #397
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/PMS-578-appointment-inline-validation"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
PMS-578 (found in PMS-556 Calendar + PMS-557 Dispatch smoke)
The shared
AppointmentFormModalreported required-field errors as a single top-of-form banner with no red outline on the offending field, diverging from the standard inline pattern.(The fields already use the shared
Input/Select/Textareacomponents - a prior change migrated them - so this PR is the validation-wiring half.)Change
title_err,assignee_err,start_err,end_err) instead of the banner. Title + assignee are checked together so both surface at once; date/time parse + ordering errors land on the start/end field. Recurrence was already field-level.errorprop: Title, Assigned to, Start/End dates (all-day) and Start/End datetimes (timed) now show a red outline + message under the field.errorbanner now appears only for non-field failures (the save request failing).Commits (small, logical)
errorpropsScope
The same modal backs both Calendar and Dispatch create/edit, so both are covered.
Verified
dx build clean (33s), no warnings, fmt clean. Dev app serves this branch.
Test
Calendar or Dispatch -> New appointment -> Save with a blank Title and no assignee: both fields show a red outline + inline message (no top banner). Enter a bad/!ordered date or time: the start/end field shows the error. A save-API failure still shows the top banner.
🤖 Generated with Claude Code