The signature piece
A reusable severity-aware validation framework bridging FluentValidation and Blazor. It discovers validators by reflection, instantiates them through dependency injection, and renders the same ruleset two ways: blocking errors that prevent save, and advisory warnings the user can acknowledge and proceed past.
It pairs with a government-style accessible error summary — a 'There is a problem' heading, role=alert semantics, and automatic scroll-and-focus management — so validation is usable with a screen reader, not just visible.
Why it matters
Incident data feeds provincial statistics and prevention programs, so correctness and completeness compete with front-line practicality. Severity-aware validation resolves that tension: mandatory fields hold the line while advisory rules coach rather than block.
Localization is structural — ResX resources with a custom localizer wired into the component library, so French is a first-class experience rather than a translation pass.
