Eigentlich hatte ich ein sehr einfaches Problem: 1) I NG_VALIDATORS zu @ Winkel/forms Punkt nicht - zeigte auf alte Formen 2) Weniger wichtig ist, ich war nicht AbstractControl verwenden, nur die alte Steuerung und Während dies keine JS-Probleme verursachte, verursachte es Schreibfehler.
/**
* Created by Franz on 5/8/2016.
*/
import {Directive,provide} from '@angular/core';
import {NG_VALIDATORS} from '@angular/forms';
import {PASSWORD_REGEX} from '../../common/util/rejex';
import {Validator, AbstractControl} from "@angular/forms";
function validatePassword(control: AbstractControl) {
return PASSWORD_REGEX.test(control.value) ? null : {
validatePassword: {valid: false}
};
}
@Directive({
selector: '[validatePassword]',
providers: [
provide(NG_VALIDATORS, {
useValue: validatePassword, // Alternative useExisting: PasswordValidator, but that creates and destroys objects every time.
multi: true
})
]
})
export class PasswordValidator implements Validator {
constructor() {}
validate(c: AbstractControl) {
return PASSWORD_REGEX.test(c.value) ? null : {valid: false}
};
}
diese http://blog.Thoughtram.io/angular/2016/03/14/custom-validators-in-angular-2.html –