Как иметь необязательное символьное поле в форме django, но валидировать его так, чтобы пустая строка не допускалась?
У меня есть форма для запроса PATCH, похожая на следующую:
class SampleForm(Form):
optional_field = CharField(required=False, validators=[optional_text_field_validator])
Это валидатор-
def optional_text_field_validator(text):
if len(text) == 0:
raise ValidationError("This field cannot be empty")
Я также пробовал -
def optional_text_field_validator(text):
if text == 0:
raise ValidationError("This field cannot be empty")
Я делаю это для того, чтобы не обязательно включать optional_field
в запрос, но когда он присутствует, его значение не может быть пустой строкой. Однако проверка формы проходит при обоих вышеуказанных подходах (is_valid
возвращает True
), в то время как она должна быть неудачной.
Как мне это реализовать?