如何在 Angular2 中验证路由参数? 比如我有一条路线:
{path: 'artist/:id', component: ArtistInfoComponent}
我只想检查参数 id
是否为有效数字,如果是,则只显示组件。否则显示带有错误消息的页面。
我在 Angular 2 中找到了 Route Guards,但我认为这不是进行验证的最佳方式,因为我可以为不同的页面设置许多不同的参数,而为所有这些页面编写单独的 Route Guard 并不是我想要的。
是否可以为每个路由参数指定一个正则表达式?
UPD:也许有一种方法可以对查询参数进行验证?我的意思是如果我有这样的 url:/search?q=blablabla&page=2
我如何检查参数 page
是否有效?有没有办法在没有 Guards 的情况下做到这一点?
最佳答案
守卫是必经之路,您可以将验证配置放入路由的 data
部分,并创建可重用的守卫以根据此配置验证参数。
关于validation - Angular 2 路由参数验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41324546/