@@ -229,6 +229,7 @@ def Field(
229229 min_length : Optional [int ] = None ,
230230 max_length : Optional [int ] = None ,
231231 union_mode : Optional [Literal ["smart" , "left_to_right" ]] = None ,
232+ fail_fast : Optional [bool ] = None ,
232233 allow_mutation : bool = True ,
233234 regex : Optional [str ] = None ,
234235 discriminator : Optional [str ] = None ,
@@ -275,6 +276,7 @@ def Field(
275276 min_length : Optional [int ] = None ,
276277 max_length : Optional [int ] = None ,
277278 union_mode : Optional [Literal ["smart" , "left_to_right" ]] = None ,
279+ fail_fast : Optional [bool ] = None ,
278280 allow_mutation : bool = True ,
279281 regex : Optional [str ] = None ,
280282 discriminator : Optional [str ] = None ,
@@ -330,6 +332,7 @@ def Field(
330332 min_length : Optional [int ] = None ,
331333 max_length : Optional [int ] = None ,
332334 union_mode : Optional [Literal ["smart" , "left_to_right" ]] = None ,
335+ fail_fast : Optional [bool ] = None ,
333336 allow_mutation : bool = True ,
334337 regex : Optional [str ] = None ,
335338 discriminator : Optional [str ] = None ,
@@ -366,6 +369,7 @@ def Field(
366369 min_length : Optional [int ] = None ,
367370 max_length : Optional [int ] = None ,
368371 union_mode : Optional [Literal ["smart" , "left_to_right" ]] = None ,
372+ fail_fast : Optional [bool ] = None ,
369373 allow_mutation : bool = True ,
370374 regex : Optional [str ] = None ,
371375 discriminator : Optional [str ] = None ,
@@ -389,6 +393,7 @@ def Field(
389393 "coerce_numbers_to_str" ,
390394 "validate_default" ,
391395 "union_mode" ,
396+ "fail_fast" ,
392397 ):
393398 if param_name in current_schema_extra :
394399 msg = f"Pass `{ param_name } ` parameter directly to Field instead of passing it via `schema_extra`"
@@ -403,6 +408,7 @@ def Field(
403408 current_validate_default = validate_default or current_schema_extra .pop (
404409 "validate_default" , None
405410 )
411+ current_fail_fast = fail_fast or current_schema_extra .pop ("fail_fast" , None )
406412 field_info_kwargs = {
407413 "alias" : alias ,
408414 "title" : title ,
@@ -424,6 +430,7 @@ def Field(
424430 "unique_items" : unique_items ,
425431 "min_length" : min_length ,
426432 "max_length" : max_length ,
433+ "fail_fast" : current_fail_fast ,
427434 "allow_mutation" : allow_mutation ,
428435 "regex" : regex ,
429436 "discriminator" : discriminator ,
0 commit comments