Standardmäßig prüft Angular2 standardmäßig die Formularsteuerung/Formulargruppengültigkeit bis zur obersten Ebene, wenn ein Formularelementwert aktualisiert wird, es sei denn, Sie sagen nein. onlySelf
ist das Tool, das Ihnen dabei hilft.
Sagen Sie bitte eine loginForm
haben, die ein username
Feld und ein password
Feld hat, sind beide erforderlich, wie folgt aus:
this.userNameControl = this.formBuilder.control('Harry', Validators.required);
this.passwordControl = this.formBuilder.control('S3cReT', Validators.required);
this.loginForm = this.formBuilder.group({
userName: this.userNameControl,
password: this.passwordControl
});
Nach diesem Code this.loginForm.valid
ist true
.
Wenn Sie den Wert eines Steuerelements mit der Standardeinstellung (onlySelf = false
) festlegen, aktualisiert Angular2 die Gültigkeit des Steuerelements sowie die Gültigkeit der Formulargruppe. Zum Beispiel diese:
this.passwordControl.setValue('');
wird in
this.passwordControl.valid === false
this.loginForm.valid === false
führen jedoch dies:
this.passwordControl.setValue('', { onlySelf: true });
wird passwordControl
‚s nur Gültigkeit nur ändern:
this.passwordControl.valid === false
this.loginForm.valid === true