Вопрос №55897 от пользователя Андрей Мищенко в проекте «RSS агрегатор»

Андрей Мищенко

Здравствуйте.

В демонстрационном проекте при попытке отправить пустое сообщение появляется браузерная подсказка Заполните это поле, а не ошибка из текстов интерфейса Не должно быть пустым - из-за того что required навешен на поле, а не валидируется через yup. Как правильно?

А ещё при попытке добавить https://ru.motorsport.com/rss/all/news/ появляется сообщение Неизвестная ошибка. Что-то пошло не так. Во-первых, странно, что не добавляется. А во-вторых - где генерируется эта ошибка? Если с ней тоже нужно работать - надо добавить её в тексты интерфейсов.

1 0

Roman Makarov

В демонстрационном проекте при попытке отправить пустое сообщение появляется браузерная подсказка Заполните это поле, а не ошибка из текстов интерфейса Не должно быть пустым - из-за того что required навешен на поле, а не валидируется через yup. Как правильно?

Тут валидация продублирована. Если браузер поддерживает html5 валидацию, то покажется нативная подсказка браузера. Если же не поддерживается (или пользователь отредактировал html в девтулзах) - отработает yup. html5 валидация также отработает, если js ещё не успел загрузиться, например. В своём проекте можете обойтись yup'ом.

А ещё при попытке добавить https://ru.motorsport.com/rss/all/news/ появляется сообщение Неизвестная ошибка. Что-то пошло не так.

Тут интересный момент. С одной стороны, есть спецификация, в которой указано, что у канала должно быть описание (description), это обязательный тег. Отсутствие этого тега должно приводить к ошибке парсинга, о чём мы бы сообщили пользователю. С другой стороны, для валидации rss мы используем DOMParser, который может быть реализован по-разному в разных браузерах. Например, в вашем (и в моём тоже) парсер не видит ничего плохого в нарушении спецификации и парсит невалидный документ, как будто всё ок. Поэтому тут уже нужно решать разработчику, как быть - учитывать специфику браузеров или нет.

0

Используйте Хекслет по максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Даю согласие на обработку персональных данных, соглашаюсь с «Политикой конфиденциальности» и «Условиями оказания услуг»

Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы Фронтенд-разработчик
Профессия
Разработка фронтенд-компонентов веб-приложений
25 мая 10 месяцев
Иконка программы Python-разработчик
Профессия
Разработка веб-приложений на Django
25 мая 10 месяцев
Иконка программы PHP-разработчик
Профессия
Разработка веб-приложений на Laravel
25 мая 10 месяцев
Иконка программы Node.js-разработчик
Профессия
Разработка бэкенд-компонентов веб-приложений
25 мая 10 месяцев
Иконка программы Fullstack-разработчик
Профессия
Новый
Разработка фронтенд и бэкенд компонентов веб-приложений
25 мая 16 месяцев
Иконка программы Верстальщик
Профессия
Вёрстка с использованием последних стандартов CSS
в любое время 5 месяцев
Иконка программы Java-разработчик
Профессия
Разработка приложений на языке Java
25 мая 10 месяцев
Иконка программы Разработчик на Ruby on Rails
Профессия
Создает веб-приложения со скоростью света
25 мая 5 месяцев