私は、日付が特定の最小日付を超えているかどうかをチェックするカスタムバリデータを作成しました。私はバリデータが適用されているが、私はバリで私の分の値をconsole.log()
時にいることがわかります。この角4 - 動的パラメータ値を持つカスタムバリデータ
this.definitionForm = this.fb.group({
"from": [this.details.From, Validators.required],
"to": [this.details.To, [Validators.required, validateMinDate(this.details.From)]]
});
ように私のフォームをinitate
export function validateMinDate(min: Date): ValidatorFn {
return (c: AbstractControl) => {
if (c == null || c.value == null)
return null;
let isValid = c.value >= min;
if (isValid) {
return null;
} else {
return {
validateMinDate: {
valid: false
}
};
}
};
}
:
のコードは次のようになります私はそれがnull
と等しいことがわかります。私は、フォームを開始するとき、私は、パラメータは、動的ではなく、フォームが設定されているときだけ値をとるヌルで
this.details.From
開始を想定しますか?
ユーザーが開始日を選択したときに最小日付が更新されていることを確認して、this.details.From
の値を変更するにはどうすればよいですか?
バリデーターをディレクティブとして使用して、最新のthis.details.Fromで更新できるサービスを挿入しようとするとよいでしょう。 –
あなたがしなければならないことは、 'From'日付を見ることです、毎回の変更でバリデーターをコントロール' to'にリセットする必要があります、あなたは日付ピッカーを使用していますか?または単純な入力だけです。 ? –