0
私はAngular2 ForumBulderを使用してフォームを作成し、バリデーションを追加しています。コンポーネントのサンプルコードの下にAngular2:2フィールドの共通検証としてValidators.requiredを設定する
this.OtpForm = this._fb.group({
otpInput: this._fb.group({
otpInput1: ['', Validators.required],
otpInput2: ['', Validators.required],
otpInput3: ['', Validators.required],
}, { validator: this.numericValidator })
});
これで正常に動作します。しかし、質問はどのようにカスタムバリデーターnumericValidator
のようにすべてのフィールドに共通のValidators.required
する方法ですか?
お返事ありがとうございます。私は 'validateAllRequired'は' this.validateAllRequired'と呼ばれる必要があると思います。正しい?? –
現在のクラスで 'validateAllRequired'を定義していれば、' this'を使う必要があります。そうでなければ、この関数を再利用する場所を定義できます。 'this'は必要ありません。他のファイルであるので、この関数をインポートして使用することができます。 –
問題のコンポーネントは一般的なものなので、現在のクラス自体に関数を保持します。今私は '{validator:[this.numericValidator、this.numericValidator、this.validateAllRequired]}'のような両方のカスタムバリデータを添付すると、エラーが発生しています: 'this.validatorは関数ではありません。このエラーに関する提案はありますか? –