MCPcopy
hub / github.com/django/django / clean

Method clean

django/contrib/postgres/forms/array.py:211–239  ·  view source on GitHub ↗
(self, value)

Source from the content-addressed store, hash-verified

209 return [self.base_field.to_python(item) for item in value]
210
211 def clean(self, value):
212 cleaned_data = []
213 errors = []
214 if not any(value) and self.required:
215 raise ValidationError(self.error_messages["required"])
216 max_size = max(self.size, len(value))
217 for index in range(max_size):
218 item = value[index]
219 try:
220 cleaned_data.append(self.base_field.clean(item))
221 except ValidationError as error:
222 errors.append(
223 prefix_validation_error(
224 error,
225 self.error_messages["item_invalid"],
226 code="item_invalid",
227 params={"nth": index + 1},
228 )
229 )
230 cleaned_data.append(item)
231 else:
232 errors.append(None)
233 cleaned_data, null_index = self._remove_trailing_nulls(cleaned_data)
234 if null_index is not None:
235 errors = errors[:null_index]
236 errors = list(filter(None, errors))
237 if errors:
238 raise ValidationError(list(chain.from_iterable(errors)))
239 return cleaned_data
240
241 def has_changed(self, initial, data):
242 try:

Calls 4

ValidationErrorClass · 0.90
prefix_validation_errorFunction · 0.90
appendMethod · 0.45