Native required bubbles not error UI
native-required-bubbles-not-error-ui
Native HTML `required` / browser bubbles are not the error UI — insufficient explanation, especially with `pattern`. Prefer custom client errors; `novalidate` once JS loads if `required` was a no-JS fallback. Server-side validation is the guideline. Dual-cite GOLD server-side + error list (not a separate GOLD unique in this 40).
Description
Native HTML `required` and browser bubbles are insufficient error UI, especially with `pattern`. Prefer custom client errors; use `novalidate` once JS loads if `required` was only a no-JS fallback. Server-side validation remains the guideline. Fail when browser required/pattern bubbles are the only error UI after JS has loaded. Apply when implementing client validation on forms that may keep required as a no-JS fallback.
When to use
Implementing client validation on forms that may also use required as a no-JS fallback.
Not when
Not as an excuse to drop server-side validation, which remains required.
Agent hint
Prefer custom errors; use novalidate once JS loads if required was a no-JS fallback.
With JS, native bubbles are not the error UI (`novalidate` if `required` is a no-JS fallback); errors are custom; server-side validation remains.
Browser `required`/`pattern` bubbles are the only error UI after JS has loaded.
Citations
NL Design System — HTML formuliervalidatie
https://nldesignsystem.nl/richtlijnen/formulieren/foutmeldingen/html-formuliervalidatie/