Вопрос №55897 от пользователя Андрей Мищенко в проекте «RSS агрегатор»
Здравствуйте.
В демонстрационном проекте при попытке отправить пустое сообщение появляется браузерная подсказка Заполните это поле, а не ошибка из текстов интерфейса Не должно быть пустым - из-за того что required навешен на поле, а не валидируется через yup. Как правильно?
А ещё при попытке добавить https://ru.motorsport.com/rss/all/news/ появляется сообщение Неизвестная ошибка. Что-то пошло не так. Во-первых, странно, что не добавляется. А во-вторых - где генерируется эта ошибка? Если с ней тоже нужно работать - надо добавить её в тексты интерфейсов.
В демонстрационном проекте при попытке отправить пустое сообщение появляется браузерная подсказка Заполните это поле, а не ошибка из текстов интерфейса Не должно быть пустым - из-за того что required навешен на поле, а не валидируется через yup. Как правильно?
Тут валидация продублирована. Если браузер поддерживает html5 валидацию, то покажется нативная подсказка браузера. Если же не поддерживается (или пользователь отредактировал html в девтулзах) - отработает yup. html5 валидация также отработает, если js ещё не успел загрузиться, например. В своём проекте можете обойтись yup'ом.
А ещё при попытке добавить https://ru.motorsport.com/rss/all/news/ появляется сообщение Неизвестная ошибка. Что-то пошло не так.
Тут интересный момент. С одной стороны, есть спецификация, в которой указано, что у канала должно быть описание (description), это обязательный тег. Отсутствие этого тега должно приводить к ошибке парсинга, о чём мы бы сообщили пользователю. С другой стороны, для валидации rss мы используем DOMParser, который может быть реализован по-разному в разных браузерах. Например, в вашем (и в моём тоже) парсер не видит ничего плохого в нарушении спецификации и парсит невалидный документ, как будто всё ок. Поэтому тут уже нужно решать разработчику, как быть - учитывать специфику браузеров или нет.
Используйте Хекслет по максимуму!
- Задавайте вопросы по уроку
- Проверяйте знания в квизах
- Проходите практику прямо в браузере
- Отслеживайте свой прогресс
Зарегистрируйтесь или войдите в свой аккаунт
С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.







