@@ -32,6 +32,8 @@ class CoreConfig(TypedDict, total=False):
32
32
# used on typed-dicts and tagged union keys
33
33
from_attributes : bool
34
34
revalidate_models : bool
35
+ # whether to validate default values during validation, default False
36
+ validate_default : bool
35
37
# used on typed-dicts and arguments
36
38
populate_by_name : bool # replaces `allow_population_by_field_name` in pydantic v1
37
39
# fields related to string fields only
@@ -2068,6 +2070,7 @@ class WithDefaultSchema(TypedDict, total=False):
2068
2070
default : Any
2069
2071
default_factory : Callable [[], Any ]
2070
2072
on_error : Literal ['raise' , 'omit' , 'default' ] # default: 'raise'
2073
+ validate_default : bool # default: False
2071
2074
strict : bool
2072
2075
ref : str
2073
2076
metadata : Any
@@ -2083,6 +2086,7 @@ def with_default_schema(
2083
2086
default : Any = Omitted ,
2084
2087
default_factory : Callable [[], Any ] | None = None ,
2085
2088
on_error : Literal ['raise' , 'omit' , 'default' ] | None = None ,
2089
+ validate_default : bool | None = None ,
2086
2090
strict : bool | None = None ,
2087
2091
ref : str | None = None ,
2088
2092
metadata : Any = None ,
@@ -2107,6 +2111,7 @@ def with_default_schema(
2107
2111
default: The default value to use
2108
2112
default_factory: A function that returns the default value to use
2109
2113
on_error: What to do if the schema validation fails. One of 'raise', 'omit', 'default'
2114
+ validate_default: Whether the default value should be validated
2110
2115
strict: Whether the underlying schema should be validated with strict mode
2111
2116
ref: See [TODO] for details
2112
2117
metadata: See [TODO] for details
@@ -2117,6 +2122,7 @@ def with_default_schema(
2117
2122
schema = schema ,
2118
2123
default_factory = default_factory ,
2119
2124
on_error = on_error ,
2125
+ validate_default = validate_default ,
2120
2126
strict = strict ,
2121
2127
ref = ref ,
2122
2128
metadata = metadata ,
0 commit comments