На проверенных значениях видны точные границы полей. Примеры показывают, что устанавливает локальная проверка структуры и чего она не доказывает о записи или пользователе.
Ошибки текстовой формы
Пропущенная hex-цифра меняет длину, переставленный дефис — границы групп, а g не является hex. Верхний регистр, скобки, urn:uuid и пробелы могут быть допустимы в другом контракте, но UUIDLens не преобразует их скрыто. Передайте ровно 36 строчных символов в пяти группах, чтобы обе системы проверяли одно правило.
Ошибки полей после разбора
UUID правильной текстовой формы всё равно не проходит, если вариант не RFC 9562 или nibble версии равен нулю либо больше восьми. Это не ошибка синтаксиса: все 16 байтов разобраны. Nil и Max — явные исключения, их полностью нулевой или единичный шаблон классифицируется до обычных правил полей.
Не оставляйте устаревший результат
Если новое значение неверно, удалите прошлый успешный результат до показа ошибки. Оставьте исходный ввод для сравнения с контрактом, но не загружайте его и не отправляйте в аналитику. В API возвращайте стабильный код и отдельно проверяйте доступ; исправленный на вид UUID не доказывает существование ресурса.