hexlet-rus / runit

Online Editor Form Embedding
https://runit.hexlet.ru/
Other
35 stars 121 forks source link

[#443] fixed username field feedback error displaying ("no leading/trailing/middle whitespaces" rule) #451

Closed mad-chameleon closed 6 months ago

mad-chameleon commented 6 months ago
  1. Полям email и username в формах SignUpForm / GuestSignUpForm / UpdateAccountForm добавлен запрет на введение пробельных символов.

  2. Если пользователь копипастит данные с пробелами в поле username: валидация не проходит, пользователь видит сообщение об ошибке.

Деплой: https://heaven-tonight-runit-99rk.onrender.com/

fey commented 6 months ago

@Heaven-Tonight Задеплойте, пожалуйста, демку на render

mad-chameleon commented 6 months ago

@fey , вота : https://heaven-tonight-runit-99rk.onrender.com/signup

fey commented 6 months ago

фукнционально выглядит ок, ждем ревью

fey commented 6 months ago

@Heaven-Tonight давайте при попытке ввести пробел, выводить на форме сообщение о том, что запрещены пробелы?

fey commented 6 months ago

и еще. помимо пробелов есть еще символы табуляции, давайте его тоже учтем. Можно попробовать регуляркой брать ввод пользователя и проверять, что он относится к пробельным символам.

mad-chameleon commented 6 months ago

@Heaven-Tonight давайте при попытке ввести пробел, выводить на форме сообщение о том, что запрещены пробелы?

сделаем)

mad-chameleon commented 6 months ago

и еще. помимо пробелов есть еще символы табуляции, давайте его тоже учтем. Можно попробовать регуляркой брать ввод пользователя и проверять, что он относится к пробельным символам.

Предлагаю в username, кроме таба, обработать и другие управляющие символы. Например, сейчас пока допустимо вводить username вида: "\n\tusername", "user\name" или "user\name" и т.д., что приводит к тому, что пользователь с таким именем не сможет попасть на страницу сниппетов и будет получать ошибку 404.

некорректный путь
fey commented 6 months ago

давайте на фронте пока слеши запретим в юзернейме.

fey commented 6 months ago

да, это тоже. У пользователя не должно быть спецсиволов. Разрешеные подчеркивания, тире

mad-chameleon commented 6 months ago

да, это тоже. У пользователя не должно быть спецсиволов. Разрешеные подчеркивания, тире

Логику, не позволяющую вводить пробелы убрала, добавила валидацию username. Сделала разрешенными символами латинские буквы в любом регистре, цифры и символы - и _

Изменения задеплоились: https://heaven-tonight-runit-99rk.onrender.com/signup

fey commented 6 months ago

@Heaven-Tonight а вы есть в студентческом маттермосте Хекслета? Можете скинуть в ~internship ссыллку на пр, на демку и попросить тестировщиков потестировать. У меня демка пока грузится, я потыкаю. Но хорошо бы, чтобы тестировщики тоже проверили

mad-chameleon commented 6 months ago

@Heaven-Tonight а вы есть в студентческом маттермосте Хекслета? Можете скинуть в ~internship ссыллку на пр, на демку и попросить тестировщиков потестировать. У меня демка пока грузится, я потыкаю. Но хорошо бы, чтобы тестировщики тоже проверили

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

Yawerica commented 6 months ago

Поле ввода имени 3 Поле ввода имени 2 Поле ввода имени

Поле допускает ввод имени, состоящего ТОЛЬКО из нижних подчеркиваний. Поле допускает ввод имени, состоящего ТОЛЬКО из тире. Поле допускает ввод имени, состоящего ТОЛЬКО из цифр.

но мб ввод только цифр тут приемлем, я не знаю.