diff --git a/guardrails/datatypes.py b/guardrails/datatypes.py index 9bb7c670e..f0499932b 100644 --- a/guardrails/datatypes.py +++ b/guardrails/datatypes.py @@ -395,9 +395,11 @@ def collect_validation( schema: Dict, ) -> FieldValidation: # Validators in the main list data type are applied to the list overall. - validation = self._constructor_validation(key, value) + if value is None and self.optional: + return validation + if len(self._children) == 0: return validation @@ -435,9 +437,11 @@ def collect_validation( schema: Dict, ) -> FieldValidation: # Validators in the main object data type are applied to the object overall. - validation = self._constructor_validation(key, value) + if value is None and self.optional: + return validation + if len(self._children) == 0: return validation