novalidate: когда HTML5-валидация мешает UX

<form novalidate> отключает нативные всплывающие сообщения — оставляя :valid/:invalid для стилей, если ошибки показываете кастомным блоком под полем.
На checkout с серверной проверкой остатков SKU нативная валидация всё равно не заменит API.
- [novalidate — MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form#novalidate) — Атрибут form.
- [Client-side validation — MDN](https://developer.mozilla.org/en-US/docs/Learn/Forms/Form_validation) — Constraint validation API.
---
## Гибрид
Оставляйте required и pattern для доступности, но перехватывайте submit и вызывайте reportValidity() только когда нужно.
