gendesign/frontend/src/components/landing/__tests__
Light1YT fbafb1bf68 fix(landing): mirror Pydantic schema в PilotRequestModal validation (#1240)
Backend PilotRequestInput требует name min_length=2 и др., но modal
проверял только !form.name.trim(). 1-char name ('Я') проходил, backend
возвращал 422, apiFetch клал raw FastAPI JSON в Error.message, modal
рендерил его буквально для public lead form.

Patch: PILOT_LIMITS + PILOT_EMAIL_RE константы (синхр с backend),
per-field onBlur+live валидация с RU-сообщениями, minLength/maxLength
+ aria-invalid/aria-describedby, submit disabled при ошибках,
formatSubmitError → 4xx/5xx → human text. 26 vitest кейсов.

Closes #1240
2026-06-13 15:02:50 +05:00
..
PilotRequestModal.test.tsx fix(landing): mirror Pydantic schema в PilotRequestModal validation (#1240) 2026-06-13 15:02:50 +05:00