ui-ux-form-validation
Skill0 starsChanged 3 months agoApache-2.0View on GitHub
Generate, implement, or fix humane form validation and error feedback. Use whenever UI work changes form fields, inline errors, error summaries, validation timing, submit behavior, server validation, or positive confirmation for valid input.
In this repository46 other files it gives its agents.
- AGENTS.mdAGENTS.md
- academixSkill
- agent-browserSkill
- ai-engineering-platformSkill
- apocalypseSkill
- aria-apg-reviewSkill
- context-budgetSkill
- crawler-readiness-auditSkill
- data-protection-gateSkill
- decision-criticality-gateSkill
- fact-checkerSkill
- find-skillsSkill
- focus-friendly-outputSkill
- frontend-designSkill
- grill-meSkill
- grill-with-docsSkill
- humanizerSkill
- improve-codebase-architectureSkill
- microsoft-foundrySkill
- output-templatesSkill
- pre-launch-security-gateSkill
- prompt-preflightSkill
- quick-recapSkill
- rag-retrieval-qualitySkill
- rest-api-best-practicesSkill
- rigorous-responseSkill
- security-checklistSkill
- shepherdSkill
- skill-optimizerSkill
- sql-query-correctnessSkill
- system-design-scaleSkill
- tddSkill
- ui-ux-color-contrastSkill
- ui-ux-component-qualitySkill
- ui-ux-design-systemsSkill
- ui-ux-dropdownsSkill
- ui-ux-generationSkill
- ui-ux-loading-statesSkill
- ui-ux-mobile-cssSkill
- ui-ux-typographySkill
- ux-logic-loopSkill
- ux-pattern-reviewSkill
- vercel-react-best-practicesSkill
- visual-flow-storyboardSkill
- visual-pr-reviewSkill
- web-design-guidelinesSkill
The file
We split this skill into the rules it gives an agent
9 rules. About 0 are common, 9 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈9
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 33
Wait until the user leaves a field before showing its first validation error.
- Distinctive: line 34
Do not flag an incomplete email, date, password, or other in-progress value on each initial keystroke.
- Distinctive: line 39
After a field has failed validation, revalidate that field on input or change.
- Distinctive: line 41
Keep other untouched fields quiet.
- Distinctive: line 46
Keep all entered values and show errors beside their fields.
- Distinctive: line 54
Avoid success states for untouched fields, trivial optional blanks, or every ordinary keystroke.
- Distinctive: line 64
Treat client validation as guidance, not as a replacement for server-side validation.
- Distinctive: line 70
Leave one runnable interaction check covering the full changed lifecycle:
- Distinctive: line 79
If runtime or assistive-technology verification is unavailable, state exactly which feedback and focus transitions remain unverified.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
UI/UX Form Validation
Validate when feedback can help the user act, not while they are still expressing the value.
Field state model
| State | Behavior |
| Untouched or typing before first blur | Show no validation error. |
| Blurred and invalid | Show one specific inline error and mark the field invalid. |
| Previously invalid and being corrected | Revalidate that field live. |
| Corrected | Clear the error immediately and confirm success when useful. |
| Submitted with invalid fields | Validate all fields, keep every value, and move the user to the first actionable error. |
Required rules
1. Validate on blur first
- Wait until the user leaves a field before showing its first validation error.
- Do not flag an incomplete email, date, password, or other in-progress value on each initial keystroke.
- Allow input formatting, character counts, and password guidance while typing, but keep them distinct from errors.
2. Switch only an invalid field to live validation
- After a field has failed validation, revalidate that field on input or change.
- Clear its error as soon as the current value is valid. Do not require another blur or submit.
- Keep other untouched fields quiet. Do not switch the entire form to eager validation because one field failed.
3. Make submit recovery immediate
- On submit, validate every remaining field because submission is an explicit validation request.
- Keep all entered values and show errors beside their fields.
- For long forms or multiple errors, show a concise error summary linked to each invalid field and focus the summary or first invalid field.
- Scroll the first error into view without hiding it beneath sticky headers. Do not make the user hunt through a wall of red.
4. Confirm valid input
- Show a check icon or equally clear positive state after a previously invalid field becomes valid, or when confirmation materially reduces uncertainty.
- Pair color and icons with accessible text or a programmatic state. Do not use green alone.
- Avoid success states for untouched fields, trivial optional blanks, or every ordinary keystroke. Announce the transition once instead of creating live-region noise.
5. Make errors specific and accessible
- State the cause and recovery in plain language, such as
Enter an email in the format name@example.com. - Associate each message with its field and expose the invalid state using native semantics or
aria-invalidplusaria-describedbywhen needed. - Preserve keyboard focus, visible focus styles, and screen-reader access. Never rely on placeholders or color as the label or error.
6. Preserve the same lifecycle for server validation
- Treat client validation as guidance, not as a replacement for server-side validation.
- Map returned field errors beside the matching controls, keep submitted values, and route form-level failures to the error summary.
- For asynchronous field checks, start after blur, cancel or ignore stale responses, and confirm success only for the current value.
Verification
Leave one runnable interaction check covering the full changed lifecycle:
- Type a temporarily invalid value and confirm that no error appears before first blur.
- Blur the field and confirm that a specific associated error appears.
- Correct the value and confirm that the error clears immediately without another submit.
- Confirm that the valid state is perceivable without relying on color alone.
- Submit a form with untouched invalid fields and confirm value preservation, summary or first-error focus, and direct recovery.
- Exercise returned server errors and stale asynchronous responses when those paths exist.
If runtime or assistive-technology verification is unavailable, state exactly which feedback and focus transitions remain unverified.
Output
Return the implementation or interaction specification first, then the verification result and any remaining runtime limits.
Shared output profile
Compose the execution profile from output-templates.
Preserve the validation lifecycle above, omit empty components, and never present static inspection as proof of runtime behavior.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

