validation - Angular 2 路由参数验证

标签 validation angular

如何在 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/

相关文章:

Angular 2+从服务器下载图像

javascript - 禁用 JavaScript 所需的验证

validation - Controller.ValidateModel 方法。它是如何工作的?

jquery - 在 ASP.NET 中使用 ASP.NET MVC 验证

javascript - 当我在文本框中按回车键时不提交表单

angular - 在 *ngFor 中创建局部变量

php - 在 PHP 中验证 URL 的更好方法

html - Angular 中的字符串资源

Angular Material DatePicker - 错误 : MdDatepicker: No provider found for DateAdapter

javascript - 工厂注入(inject)指令不起作用