ng2-validators
Version:
An implementation of angular validators for Angular 2
61 lines • 2.41 kB
JavaScript
import { Directive, Input, forwardRef } from '@angular/core';
import { NG_VALIDATORS } from '@angular/forms';
import { CreditCardValidators } from './creditcard-validators';
var CreditCardValidatorDirective = (function () {
function CreditCardValidatorDirective() {
this.creditCard = 'all';
}
CreditCardValidatorDirective.prototype.ngOnInit = function () {
switch (this.creditCard) {
case 'all':
this.validator = CreditCardValidators.isCreditCard;
break;
case 'americanExpress':
this.validator = CreditCardValidators.americanExpress;
break;
case 'dinersclub':
this.validator = CreditCardValidators.dinersclub;
break;
case 'discover':
this.validator = CreditCardValidators.discover;
break;
case 'jcb':
this.validator = CreditCardValidators.jcb;
break;
case 'maestro':
this.validator = CreditCardValidators.maestro;
break;
case 'mastercard':
this.validator = CreditCardValidators.mastercard;
break;
case 'visa':
this.validator = CreditCardValidators.visa;
break;
default:
this.validator = CreditCardValidators.isCreditCard;
break;
}
};
CreditCardValidatorDirective.prototype.validate = function (c) {
return this.validator(c);
};
return CreditCardValidatorDirective;
}());
export { CreditCardValidatorDirective };
CreditCardValidatorDirective.decorators = [
{ type: Directive, args: [{
selector: '[creditCard][formControlName],[creditCard][formControl],[creditCard][ngModel]',
providers: [{
provide: NG_VALIDATORS,
// tslint:disable-next-line:no-forward-ref
useExisting: forwardRef(function () { return CreditCardValidatorDirective; }),
multi: true
}]
},] },
];
/** @nocollapse */
CreditCardValidatorDirective.ctorParameters = function () { return []; };
CreditCardValidatorDirective.propDecorators = {
'creditCard': [{ type: Input },],
};
//# sourceMappingURL=creditcard.directive.js.map