2014-10-01 38 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