Commit 91f87b8f authored by quaspas's avatar quaspas Committed by Tim Graham
Browse files

Fixed #26283 -- Fixed removal of trailing nulls for SplitArrayField.

parent ab8af342
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -183,7 +183,7 @@ class SplitArrayField(forms.Field):
                    null_index = i
                else:
                    break
            if null_index:
            if null_index is not None:
                cleaned_data = cleaned_data[:null_index]
                errors = errors[:null_index]
        errors = list(filter(None, errors))
+14 −0
Original line number Diff line number Diff line
@@ -663,6 +663,20 @@ class TestSplitFormField(PostgreSQLTestCase):
        self.assertTrue(form.is_valid(), form.errors)
        self.assertEqual(form.cleaned_data, {'array': ['a', '', 'b']})

    def test_remove_trailing_nulls_not_required(self):
        class SplitForm(forms.Form):
            array = SplitArrayField(
                forms.CharField(required=False),
                size=2,
                remove_trailing_nulls=True,
                required=False,
            )

        data = {'array_0': '', 'array_1': ''}
        form = SplitForm(data)
        self.assertTrue(form.is_valid())
        self.assertEqual(form.cleaned_data, {'array': []})

    def test_required_field(self):
        class SplitForm(forms.Form):
            array = SplitArrayField(forms.CharField(), size=3)