in elasticsearch/dsl/utils.py [0:0]
def clean_fields(self, validate: bool = True) -> None:
errors: Dict[str, List[ValidationException]] = {}
for name, field, optional in self.__list_fields():
data = self._d_.get(name, None)
if data is None and optional:
continue
try:
# save the cleaned value
data = field.clean(data)
except ValidationException as e:
errors.setdefault(name, []).append(e)
if name in self._d_ or data not in ([], {}, None):
self._d_[name] = cast(Any, data)
if validate and errors:
raise ValidationException(errors)