1. ホーム
  2. angular

[解決済み] Angularで、コントロールが作成された後、FormControlにバリデータを追加する方法は?

2022-05-13 18:45:37

質問

動的に構築されるフォームを持つコンポーネントがあります。バリデータ付きのコントロールを追加するコードは、以下のようになります。

var c = new FormControl('', Validators.required);

しかし、2番目のValidatorを追加したい場合は、次のようにします。 後に . どのようにこれを達成することができますか?オンラインではこれに関するドキュメントを見つけることができません。しかし、フォームコントロールの中に setValidators

this.form.controls["firstName"].setValidators 

を追加することができますが、新しいバリデータやカスタムバリデータを追加する方法は不明です。

どのように解決するのですか?

単に FormControl にバリデータの配列を渡すだけです。

ここでは、既存の FormControl にバリデータを追加する例を示します。

this.form.controls["firstName"].setValidators([Validators.minLength(1), Validators.maxLength(30)]);

を作成したときに追加した既存のバリデータをリセットすることに注意してください。 FormControl .

Angular 12のアップデート

Angular 12以降では、既存のバリデータを削除せずに新しいバリデータをフォームに追加したい場合は addValidator :

this.form.controls["firstName"].addValidators([Validators.minLength(1), Validators.maxLength(30)]);