使用Angular 2进行信用卡表单验证

时间:2016-03-22 06:53:40

标签: angular

我使用angular2进行信用卡表单验证。我找到了一个使用angular1的指令。但是我如何将此指令转换为角度2。

<ion-input type="text" card-number></ion-input>

angular.module('app').directive
  ( 'cardNumber'
  , function(){
      var directive =
        { require: 'ngModel'
        , link: function(scope, elm, attrs, ctrl){
            ctrl.$parsers.unshift(function(value){
              scope.ccinfo.type =
                (/^5[1-5]/.test(value)) ? "mastercard"
                : (/^4/.test(value)) ? "visa"
                : (/^3[47]/.test(value)) ? 'amex'
                : (/^6011|65|64[4-9]|622(1(2[6-9]|[3-9]\d)|[2-8]\d{2}|9([01]\d|2[0-5]))/.test(value)) ? 'discover'
                : undefined
              ctrl.$setValidity('invalid',!!scope.ccinfo.type)
              return value
            })
          }
        }
      return directive
      }
    )

1 个答案:

答案 0 :(得分:0)

您可以创建自定义验证器

articleId

有关详情,请参阅http://blog.thoughtram.io/angular/2016/03/14/custom-validators-in-angular-2.html