Задать вопрос
kotcich
@kotcich
Я скучный.

Как строго валидировать параметры во vue роутинге?

То есть мне не подходит:
props: {
     id: Number.
}


Так как vue просто выдаст предупреждение в консоли, но данные все равно передадутся, если это будет строка.
  • Вопрос задан
  • 101 просмотр
Подписаться 1 Простой Комментировать
Решения вопроса 1
rpsv
@rpsv
делай либо хорошо, либо никак
В доке роутера все написано: https://router.vuejs.org/ru/guide/essentials/dynam...
vue-router использует path-to-regexp в качестве движка для проверки совпадения маршрутов, что позволяет задействовать многие продвинутые возможности...


Заходим в доку либы и читаем что она умеет ("типизируйте" на основе регулярки \d+): https://github.com/pillarjs/path-to-regexp/tree/v1...
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
yarkov
@yarkov Куратор тега Vue.js
Помог ответ? Отметь решением.
У пропсов есть свойство validator. Там и валидируйте.
Ответ написан
Комментировать
Aetae
@Aetae Куратор тега Vue.js
Тлен
Во-первых: вообще непонятно как по вашему должна выглядеть "строгая" валидация. Крашить приложение?
Во-вторых: эта валидация в компоненте, а не в роутинге.
В-третьих: любой входной параметр маршрута - по определению строка, т.к. является частью строки - url.

В итоге: props в свойствах маршрута может быть функцией. В эту функцию вы можете добавить как свой валидатор, так и приведение типов.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы