РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
466 of 818 menu

MaxLengthValidator

Валидатор MaxLengthValidator применяется к полям форм для проверки максимальной длины вводимой строки. Он принимает обязательный аргумент limit_value - максимально допустимое количество символов, а также необязательный аргумент message для кастомизации сообщения об ошибке. Валидатор автоматически вызывается при валидации формы и добавляет ошибку, если длина строки превышает установленный лимит.

Синтаксис

from django.core.validators import MaxLengthValidator validator = MaxLengthValidator(limit_value, message=None)

Пример

Базовое использование валидатора в поле формы:

from django import forms from django.core.validators import MaxLengthValidator class ArticleForm(forms.Form): title = forms.CharField( max_length=100, validators=[MaxLengthValidator(100)] ) content = forms.CharField( validators=[MaxLengthValidator(1000)] )

Пример

Кастомизация сообщения об ошибке:

from django import forms from django.core.validators import MaxLengthValidator class UserForm(forms.Form): username = forms.CharField( validators=[ MaxLengthValidator( limit_value=30, message="Имя пользователя не может превышать 30 символов" ) ] )

Пример

Использование валидатора в модели:

from django.db import models from django.core.validators import MaxLengthValidator class Article(models.Model): title = models.CharField( max_length=200, validators=[MaxLengthValidator(200)] ) description = models.TextField( validators=[MaxLengthValidator(500)] )

Пример

Валидация данных в форме с использованием экземпляра валидатора:

from django import forms from django.core.validators import MaxLengthValidator from django.core.exceptions import ValidationError class RegistrationForm(forms.Form): email = forms.EmailField() def clean_email(self): email = self.cleaned_data['email'] validator = MaxLengthValidator(100, "Email слишком длинный") validator(email) return email

Пример

Использование валидатора в представлении для ручной проверки данных:

from django.core.validators import MaxLengthValidator from django.core.exceptions import ValidationError def validate_comment(comment_text): try: validator = MaxLengthValidator(500) validator(comment_text) return True except ValidationError as e: print("Validation error:", e.message) return False res = validate_comment("This is a comment") print(res)

Результат выполнения кода:

"True"

Смотрите также

  • валидатор MinLengthValidator,
    который проверяет минимальную длину строки
  • валидатор MaxValueValidator,
    который проверяет максимальное числовое значение
  • валидатор MinValueValidator,
    который проверяет минимальное числовое значение
  • валидатор RegexValidator,
    который проверяет строку по регулярному выражению
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить