@@ -32,6 +32,8 @@ class CoreConfig(TypedDict, total=False):
3232 # used on typed-dicts and tagged union keys
3333 from_attributes : bool
3434 revalidate_models : bool
35+ # whether to validate default values during validation, default False
36+ validate_default : bool
3537 # used on typed-dicts and arguments
3638 populate_by_name : bool # replaces `allow_population_by_field_name` in pydantic v1
3739 # fields related to string fields only
@@ -2068,6 +2070,7 @@ class WithDefaultSchema(TypedDict, total=False):
20682070 default : Any
20692071 default_factory : Callable [[], Any ]
20702072 on_error : Literal ['raise' , 'omit' , 'default' ] # default: 'raise'
2073+ validate_default : bool # default: False
20712074 strict : bool
20722075 ref : str
20732076 metadata : Any
@@ -2083,6 +2086,7 @@ def with_default_schema(
20832086 default : Any = Omitted ,
20842087 default_factory : Callable [[], Any ] | None = None ,
20852088 on_error : Literal ['raise' , 'omit' , 'default' ] | None = None ,
2089+ validate_default : bool | None = None ,
20862090 strict : bool | None = None ,
20872091 ref : str | None = None ,
20882092 metadata : Any = None ,
@@ -2107,6 +2111,7 @@ def with_default_schema(
21072111 default: The default value to use
21082112 default_factory: A function that returns the default value to use
21092113 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
21102115 strict: Whether the underlying schema should be validated with strict mode
21112116 ref: See [TODO] for details
21122117 metadata: See [TODO] for details
@@ -2117,6 +2122,7 @@ def with_default_schema(
21172122 schema = schema ,
21182123 default_factory = default_factory ,
21192124 on_error = on_error ,
2125+ validate_default = validate_default ,
21202126 strict = strict ,
21212127 ref = ref ,
21222128 metadata = metadata ,
0 commit comments