2016-03-04 60 views
-1

我想做一个验证。 I want exact this validation but in angularJS我是AngularJS的新手,我正在尝试编写一个使用if循环的函数。但我不知道如何编写一个函数。在这里,我已经尝试到现在。如何在HTML页面中调用函数?请任何人都可以帮助我。AngularJs中的函数

var app = angular.module("MyApp", ["ngAnimate","ngMessages"]); 
    app.controller('MyCtrl', function($scope, $timeout) {   
     $scope.name = '';  

     $scope.validate = function(NetProfit) { 
     if (NetProfit < 500 || NetProfit > 800) { 
      $scope.greeting = 'Your payment must be between £500 and £800';   
     } 
     else { 
      $scope.greeting = '';   
     } 
    }; 
}); 

HTML代码

<input ng-model="name2" name="name2" id="NetProfit" type="text"> 
{{greeting}} 
+0

是否调用了'validate'? – Rayon

+0

我不明白如何调用它.. – user5397448

+0

@ user5397448使用'

'和'ng-submit',或者像其他人所说的那样,'ng-change'。 – cst1992

回答

1

你可以写

<input ng-model="name2" name="name2" id="name2id" type="text" ng-change='validate(name2)'> 
{{greeting}} 

ngChange文档here

但这样做的最好方法是使用$validatorsngModelController

ngModelController文档here

1

使用ng-change指令,它会调用handler(表达)每当值改变..

试试这个:

var app = angular.module("MyApp", []); 
 
app.controller('MyCtrl', function($scope, $timeout) { 
 
    $scope.name = ''; 
 
    $scope.validate = function(NetProfit) { 
 
    if (NetProfit < 500 || NetProfit > 800) { 
 
     $scope.greeting = 'Your payment must be between £500 and £800'; 
 
    } else { 
 
     $scope.greeting = ''; 
 
    } 
 
    }; 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app='MyApp' ng-controller='MyCtrl'> 
 
    <input ng-model="name2" name="name2" id="NetProfit" type="text" ng-change='validate(name2)'>{{greeting}} 
 
</div>

Fiddle here