@@ -335,27 +335,36 @@ def format_fields(self):
335335 # "custom_field_id": self.block.get(field["field_id"]),
336336 # }
337337 # )
338- validations_for_field = {}
338+
339+ matching_field = None
339340 for field in self .block .get ("subblocks" , []):
340- validation_ids_to_apply = field .get ("validations" , [])
341- for validation_and_setting_id , setting_value in field .get (
342- "validationSettings" , {}
343- ).items ():
344- split_validation_and_setting_ids = validation_and_setting_id .split ("-" )
345- if len (split_validation_and_setting_ids ) < 2 :
346- continue
347- validation_id , setting_id = split_validation_and_setting_ids
348- if validation_id not in validation_ids_to_apply :
349- continue
350- if validation_id not in validations_for_field :
351- validations_for_field [validation_id ] = {}
352- validations_for_field [validation_id ][setting_id ] = setting_value
341+ if field .get ("id" , field .get ("field_id" )) == submitted_field .get ("field_id" ):
342+ matching_field = field
343+ break
344+
345+ if matching_field is None :
346+ continue
347+
348+ validations_for_field = {}
349+ validation_ids_to_apply = matching_field .get ("validations" , [])
350+ for validation_and_setting_id , setting_value in matching_field .get (
351+ "validationSettings" , {}
352+ ).items ():
353+ split_validation_and_setting_ids = validation_and_setting_id .split ("-" )
354+ if len (split_validation_and_setting_ids ) < 2 :
355+ continue
356+ validation_id , setting_id = split_validation_and_setting_ids
357+ if validation_id not in validation_ids_to_apply :
358+ continue
359+ if validation_id not in validations_for_field :
360+ validations_for_field [validation_id ] = {}
361+ validations_for_field [validation_id ][setting_id ] = setting_value
353362 fields_data .append (
354363 {
355- ** field ,
364+ ** matching_field ,
356365 ** submitted_field ,
357366 "id" : submitted_field ["field_id" ], # Ensure we always use the submitted field id
358- "display_value_mapping" : field .get ("display_values" ),
367+ "display_value_mapping" : matching_field .get ("display_values" ),
359368 "custom_field_id" : self .block .get (submitted_field ["field_id" ]),
360369 # We're straying from how validations are serialized and deserialized here to make our lives easier.
361370 # Let's use a dictionary of {'validation_id': {'setting_id': 'setting_value'}} when working inside fields for simplicity.
0 commit comments