What problem does it solve? Developers using Singapore Design System (SGDS) form components often struggle to wire up validation correctly — error messages not appearing, forms submitting with invalid data, or confusion about integrating third-party validators like Zod. This Skill provides the exact patterns for making SGDS components behave like native form controls. ## Core Features & Use Cases - Constraint Validation Setup: Configure required, pattern, min, max, and other constraints per component, with hasFeedback controlling whether error text, styling, or both are displayed. - FormData Submission Handling: Read submitted values via the native FormData API, including special handling for <sgds-file-upload> files through the selectedFiles property. - Custom Validation Integration: Disable built-in validation with noValidate or novalidate, then drive invalid states programmatically with setInvalid(bool) and invalidFeedback for libraries like Zod. - Use Case: You are building a government service appointment form with SGDS components and need per-field error messages, blocked submission on invalid input, and a custom rule that rejects keys starting with special characters. ## Quick Start Show me how to build an SGDS form with required fields, visible error feedback, and FormData submission handling.