angularjs - Angular validator makes my $scope unavailable? -


i've simple input in html page :

<input type="text" class='form-control' id='card' name="mycard" ng-model='form.cardnb' card-validation> 

i created function 'cadtype' returns value according first char in input :

var mainapp = angular.module("mainapp", []);          mainapp.controller('formcontroller', function($scope) {            $scope.form = {               cardnb: "",               nameoncard: "",               expirydate: "",               cvv:  "",               cardtype: function() {                  var firstcharcard;                  var secondcharcard;                  firstcharcard = $scope.form.cardnb.charat(0);                  secondcharcard = $scope.form.cardnb.charat(1);              //some additional logic here... 

(function works fine @ moment , no problem)

then, created new validator validation on input :

    mainapp.directive('cardvalidation', function() {     return {          require: 'ngmodel',          link: function($scope, element, attributes, ngmodel) {             ngmodel.$validators.cardvalidation = function(value) {                   return (value.length == 13);             };         }     } }); 

this validation works function doesn't work anymore ! error when filling input :

typeerror: cannot read property 'charat' of undefined     @ object.$scope.form.cardtype (index.html:86)     @ ib.functioncall (angular.js:12404)     @ object.<anonymous> (angular.js:12813)     @ n.$get.n.$digest (angular.js:14300)     @ n.$get.n.$apply (angular.js:14571)     @ eg.$$debounceviewvaluecommit (angular.js:23391)     @ eg.$setviewvalue (angular.js:23363)     @ htmlinputelement.l (angular.js:19784)     @ htmlinputelement.c (angular.js:3032) 

i suppose validation makes unavailable scope ... can ?

thanks lot :).

how validators work create model if validation fails.

in case if length not 13 underlying model cleared form.cardnb.

so in function should explicitly check cardnb not null before using charat.


Comments

Popular posts from this blog

c++ - Difference between pre and post decrement in recursive function argument -

php - Nothing but 'run(); ' when browsing to my local project, how do I fix this? -

php - How can I echo out this array? -