Angularjs用ng-href对dropdown/select redirect进行错误验证
Angularjs error validation for dropdown/select redirect with ng-href
我目前使用angularjs的ng-href和一个带有ng-model的select html元素,其中我使用ng-href链接到"selectedItem"(来自ng-model)。当没有选择任何内容时,我无法验证或提供错误,并且想知道如何做到这一点。我的ng-href也可以工作,我认为它在Plunker上没有相同的功能。
这是我的html代码: <form name="linkForm" ng-controller="MainCtrl">
<select name="link" ng-model="selectedItem"
ng-options="item as item.name for item in items"></select>
<option value=""></option>
<span class="error" ng-show="linkForm.link.$dirty && linkForm.link.$invalid">Please select a website</span>
<a ng-href="{{selectedItem.id}}">Let's go</a>
</form>
这是我的angularjs代码
var app = angular.module('angularjs-starter', []);
app.controller('MainCtrl', function($scope) {
$scope.items = [
{ id: 'http://www.google.com', name: 'Google'},
{ id: 'http://www.gmail.com', name: 'Gmail'}];
});
下面是我的演示:http://plnkr.co/edit/c9iiLP6spvQK8jYdmYhD?p=preview 您只需要将required
添加到选择中,以便为验证提供必要的选项。但是,您还需要删除bankLoginForm.bankLogin.$dirty
的检查,因为在用户修改下拉菜单之前,它不会被污染。要使href在下拉菜单无效时消失,您可以在其上添加相反的检查。
<select name="bankLogin" ng-model="selectedItem"
ng-options="item as item.name for item in items" required>
<option value=""></option> </select>
<span ng-show="bankLoginForm.bankLogin.$invalid">Select bank</span>
<a ng-href="{{selectedItem.id}}" ng-show="!bankLoginForm.bankLogin.$invalid">Let's go</a>
http://plnkr.co/edit/JFvvXslCZf9CnHCB0zRT?p =预览
您可以在链接上使用ng-click,并在控制器中处理验证。
$scope.go = function() {
if (!$scope.selectedItem) {
alert("You have to select")
} else {
window.location.href = $scope.selectedItem.id;
}
}
在视图中:
<a ng-click="go()">Let's go</a>
这是更新后的代码http://plnkr.co/edit/CLwFsNIUgt7PPRA3f4HA?p=preview
相关文章:
- Node.js v6.2.0类扩展不是函数错误
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- document.open/document.write没有正确地清除chrome中的文档——这是chrome的错误吗
- 试图在引导模式内动态生成图表,得到offsetWidth错误
- 为什么会出现错误;未捕获的类型错误:undefined不是函数;
- 我如何修复包含在captcha的addthis中的错误
- 同样,同样的错误'ahorcado.js:26未捕获类型错误:无法读取属性'beginPath'
- 节点是否需要模块传递带有方括号的arg?这是个错误吗
- Webpack/Rect:遵循egghead.io教程,但出现错误:您可能需要一个合适的加载程序来处理此文件类型
- CKFinder 3为所选文件返回错误的URL
- 同位素库错误:未捕获错误无布局模式包装生产线8
- 铬:“;未捕获的语法错误:意外的标记:"
- 如何通过自己获得Chrome扩展的用户反馈/错误报告
- 相位器状态未捕获参考错误
- /undefined在我的404错误日志中多次出现
- Javascript未捕获语法错误意外的标识符错误
- javascript:如何在antlr生成的Lexer中进行错误处理
- Angularjs工厂注入错误
- Angularjs用ng-href对dropdown/select redirect进行错误验证
- POST/Redirect引发“连接已重置”浏览器错误