如何知道用户是否输入了无效的$routeparams
How to know if user has entered invalid $routeparams
我可以使用
访问查询url参数$scope.$on('$routeUpdate', function () {
var id = $routeParams.id
//check if user has entered any params other than "id".
//if yes do someting
});
我需要防止用户输入除"id"以外的参数。
,
example.com/?id="something"
被接受
应拒绝example.com/?junk="something"
。
有办法吗?
详细说明这些人所说的评论,你可以在初始化应用程序(在run函数或根控制器中)或在routeUpdate监听器中做以下事情:
if($location.search.id){
$location.search({id:$location.search.id}));
} else {
$location.search({});
}
显然,您需要将$location注入到DI中(将其作为参数添加到该函数作用域中—您的侦听器在问题中的作用域中)。
相关文章:
- 如果我在javascript中输入无效的电子邮件或空白,如何显示特定的文本框边框红色
- jquery代码在Mozilla中有效,但在其他浏览器上无效
- 这个问号在Flow中意味着什么:“;?()=>“无效”;
- 从字符串末尾删除空白无效
- Jquery Datatables错误:无效的JSON基元:draw
- 滚动在Chrome中有效,但在Firefox或IE中无效
- $routeParams is undefined
- 错误:语法错误,无法识别的表达式:不支持的伪:无效/RectJS/Unit Testing
- Javascript setattribute-名称和值无效
- 格式化货币无效
- JavaScript错误无效的限定符
- 按键事件无效的原因
- Laravel数据表无效的JSON响应
- 文本字段显示它是有效的,即使它在ExtJS中是无效的
- JS代码在jsbin中有效,在jsfiddle或Chrome/Safari中无效
- 如何使用JavaScript粘贴原始二进制文件而不出现“无效字符”错误
- Xpath对Selenium Web驱动程序无效”;Xpath未找到”;
- 电子邮件地址验证但创建帐户,即使电子邮件地址无效
- 为什么这个按钮在IE中有效,但在Firefox中无效
- 如何知道用户是否输入了无效的$routeparams