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

Проверка параметра в Nuxt

Посредник решает, пускать ли переход и куда редиректить. Отдельная задача - проверить, подходит ли значение параметра страницы по формату. Для этого в definePageMeta есть поле validate: функция получает маршрут и возвращает true или false. Это не файл в app/middleware, а правило прямо на странице с квадратными скобками в имени файла.

Если validate вернёт false, Nuxt не откроет страницу и покажет стандартную страницу ошибки. Так отсекают буквы в numeric id или пустые сегменты до загрузки данных.

Адрес /posts/12 пройдёт проверку, /posts/abc покажет ошибку Nuxt. Разберём посты, где id должен состоять только из цифр:

<script setup> definePageMeta({ validate: (route) => { return /^\d+$/.test(String(route.params.id)); }, }); const route = useRoute(); </script> <template> <h1> Post {{ route.params.id }} </h1> </template>

Сделайте страницу продукта с динамическим id, которая принимает только числовой параметр.

Проверьте, что адрес с буквами в сегменте id показывает страницу ошибки, а с цифрами открывает экран продукта.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить