2014-10-01 39 views
3

PLUNKER在有效模糊上调用函数

如何仅在元素有效时触发模糊函数没有其他错误?

HTML

<input type="text" id="order" ng-model="order" name="order" class="form-control" 
    ng-pattern="/^[0-9]*$/" ng-minlength="9" maxlength="9" 
    required="" ng-blur="something()" /> 

JS

var app = angular.module('plunker', []); 

app.controller('MainCtrl', function($scope) { 
    $scope.something=function(){ 
     if($scope.routingNumber.$valid) 
     alert("yippie"); 
    } 
}); 
+0

喜欢这个? http://plnkr.co/edit/oiGKFq?p=preview可能我误解了你的问题... – PSL 2014-10-01 21:51:54

+0

你的问题解决了吗?你是否尝试过PSL活塞和我提供的答案? – apairet 2014-10-05 08:08:01

+0

抱歉忘了更新它。是的,它被解决了:)谢谢 – future 2014-10-10 20:33:34

回答

5

在这里你去:http://plnkr.co/edit/g4ecmWToQPbOKAk3XvNt?p=preview(完整形式) http://plnkr.co/edit/Zep8D4AXvkzwpqcFFXjR?p=preview(只为了现场)

你只需要通过你的formsomething方法。

<input type="text" id="order" ng-model="order" name="order" class="form-control" 
ng-pattern="/^[0-9]*$/" ng-minlength="9" maxlength="9" 
required="" ng-blur="something(myform)" /> 

而在你的JS:

app.controller('MainCtrl', function($scope) { 
    $scope.something = function(form) { 
    if (form.order.$valid) { 
     alert("yippie"); 
    } 
    } 
}); 

您可以找到有关表单验证和错误的文档的详细信息:https://docs.angularjs.org/guide/forms

+0

我仍然有一些验证在这个输入之后进行,所以表单不会总是有效。如果我只想检查此输入并调用某些有效输入方法,该怎么办? – future 2014-10-01 21:13:03

+0

看到我更新的答案。 – apairet 2014-10-01 21:14:51