デフォルトでAngular2は、noと指定しない限り、フォーム要素の値が更新されるたびに、フォームコントロール/フォームグループの有効性が最上位まで連続してチェックされます。 onlySelf
はそれを手助けするツールです。
あなたは
username
フィールドと
password
フィールドを持つ
loginForm
があるとし、それらの両方は、このように、必要とされています。このコードの後
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
});
、this.loginForm.valid
はtrue
です。
デフォルト設定(onlySelf = false
)を使用してコントロールの値を設定すると、Angular2はコントロールの有効性とフォームグループの有効性を更新します。たとえば、この:
のみだけpasswordControl
の妥当性を変更します:
this.passwordControl.valid === false
this.loginForm.valid === true