Skip to content

Commit 89b8508

Browse files
committed
#782: Add validation for uuid format
1 parent 7d3db6d commit 89b8508

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

jsonschema/_format.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
from uuid import UUID
12
import datetime
23
import ipaddress
34
import re
@@ -471,3 +472,15 @@ def is_duration(instance):
471472
if not isinstance(instance, str):
472473
return True
473474
return isoduration.parse_duration(instance)
475+
476+
477+
@_checks_drafts(
478+
draft202012="uuid",
479+
raises=ValueError,
480+
)
481+
def is_uuid(instance):
482+
if not isinstance(instance, str):
483+
return True
484+
if "-" not in instance:
485+
raise ValueError("Invalid UUID format")
486+
return UUID(instance)

0 commit comments

Comments
 (0)