paladin223 / django

0 stars 0 forks source link

Доработать валидатор #34

Closed drowsycoder closed 1 year ago

drowsycoder commented 1 year ago

Очень важный момент: что-то не то с валидатором

Два слова, которые в ТЗ, должны проходить. В том числе, если соседствуют/слеплены со знаками препинания или эмодзи, например: "Роскошно!", "Супер (роскошно)" или "превосходно,роскошно" (без пробелов) должны проходить. А "нероскошно" или мешанина букв типа "роскошно111", "роскошноGGG", "йлцорудыфвпревосходнойцуйцлур" (это же не отдельно взятые слова "роскошно" и "превосходно") — нет

Проверил слово ,роскошноsq👍 (от запятой до эмодзи включительно, без пробелов) Прошло, а не должно было

drowsycoder commented 1 year ago

Не проходит слово рОскОшно А должно (Содержит заглавные буквы)

А ещё подсказка к тому, какие должны содержаться слова, тоже некорректная baukov_item_admin

paladin223 commented 1 year ago

Я иногда уже просто не понимаю что требуют в тз. Сначала было условие на "роскошно". Оказывается, нужно было рассмотреть все случаи написания и регистронезависмые тоже. Про ER диаграмму написали можно прислаь файл ссылкой, но оказывается обязательное условие добавить в ридми, да это же выбор без выбора

drowsycoder commented 1 year ago

Там было "Обязательно содержится слово превосходно или роскошно" При этом всегда надо учитывать, что не стоит недооценивать пользователя, который очень часто что-то делает не так Привести всё к нижнему регистру - это чуть ли не самый первый нормализатор, который должен был быть сделан. Об этом часто упоминают, говоря об обработке строк

Поместить ERD в репо - не обязательно, ссылка тоже подойдёт. Это, скорее, рекомендация с целью подготовить вам и этот красивый репо, и чтобы на проекте уже вообще с минимумом вопросов было

И заметь: задание с валидатором и ERD я тебе зачёл (хоть валидатор и стоит улучшить)

drowsycoder commented 1 year ago

Ещё раз посмотри перечень слов. Он не соответствует заданию Я упоминал, что валидатор надо будет доработать

text = django.db.models.TextField(
    "Описание",
    default="",
    validators=[
        catalog.validator.Validator(
            "роскошно", "классно", "замечательно", "превосходно"
        )
    ],
)