フォームの基本的なクロスフィールド検証の作成には成功しません。角2 rc.6です。クロスフィールド検証 - Angular2 RC6
constructor(private fb: FormBuilder) {
this.signUpForm = fb.group({
"firstName": ["", Validators.required],
"lastName": ["", Validators.required],
"email": ["", [Validators.required, ValidationService.emailValidator]],
"password": ["", [Validators.required, ValidationService.passwordValidator]],
"passwordConfirm": ["", [Validators.required]]
}, {validator: this.matchingPasswords('password', 'confirmPassword')});
this.firstName = this.signUpForm.controls["firstName"];
this.lastName = this.signUpForm.controls["lastName"];
this.email = this.signUpForm.controls["email"];
this.password = this.signUpForm.controls["password"];
this.passwordConfirm = this.signUpForm.controls["passwordConfirm"];
}
matchingPasswords(passwordKey: string, confirmPasswordKey: string) {
return (group: ControlGroup): {[key: string]: any} => {
let password = group.controls[passwordKey];
let confirmPassword = group.controls[confirmPasswordKey];
if (password.value !== confirmPassword.value) {
return {
mismatchedPasswords: true
};
}
}
}
私はポストCross field validation in Angular2を見てきましたが、ポイントは、私は角2 rc.6を使用していますということです。アンギュラ2 rc.6で
、 ControlGroupは共通/角度 @何 からより入手可能であり、角度@更新の一部ではない/私はFormBuilder, Validators, AbstractControl, FormGroup
を得るを形成しません。 私の方法matchingPasswords
がもう機能していないため、2つのパスワードが一致しているかどうかを確認できません。
私はの代わりに何を使用すべきか知っていますか??私はちょうど同じ問題だけでなく、@ギュンターZöchbauerによって強調FormGroupの問題を持っていた
これは今、 'FormGroup'と呼ばれています。 –