私はAngular 5フォームを作成しています。私は私のフォーム(電子メールまたは電話)の連絡先情報の要件を持っています。メールアドレスまたは電話番号のいずれかが必要ですが、両方ではありません。このシナリオでカスタムバリデーターを作成するにはどうすればよいですか? docsから、バリデーターはただ1つのコントロールに責任があると思われますが、バリデーターはすべての値をチェックするために複数のコントロールを認識する必要があります。複数のフィールドを角度で妥当性検査するにはどうすればよいですか?
ngOnInit() {
this.form = this.formBuilder.group({
'name': [null, [Validators.required]],
'email': [null, []], // A user can provide email OR phone, but
'phone': [null, []], // both are not required. How would you do this?
});
}
それぞれに同じカスタムバリデータを使用しますが、各コントロールへの参照を使用してどちらか一方を使用するとtrueを返します。良い例があります:https://stackoverflow.com/questions/43487413/password-and-confirm-password-field-validation-angular2-reactive-forms同じアイデアを使ってパスワードを検証します。それでも、2つのフォームコントロールをチェックしてグループバリデーターを作成します。 –
まだ完全には動作していませんが、これを強化しようとしてください:https://stackblitz.com/edit/angular-9effym?file=app%2Fapp.component.ts – HDJEMAI