検証エラーを修正するためにフィールドが再編集されたことを検出するにはどうすればよいですか?フィールドは無効ですが、ユーザーはそれを修正し始めました。 touched
とdirty
のプロパティでのみ可能ではないようですか?角2+テンプレート駆動型 - フィールドの再編集の検出
シナリオでは、ぼかしでエラーラベルを表示したいが、ユーザーがフィールドを再訪したときに別のラベルを表示したい。
検証エラーを修正するためにフィールドが再編集されたことを検出するにはどうすればよいですか?フィールドは無効ですが、ユーザーはそれを修正し始めました。 touched
とdirty
のプロパティでのみ可能ではないようですか?角2+テンプレート駆動型 - フィールドの再編集の検出
シナリオでは、ぼかしでエラーラベルを表示したいが、ユーザーがフィールドを再訪したときに別のラベルを表示したい。
フィールドに追加する必要がある指示文が必要です。 これはactuall答えではないですが、あなたは[反応性形でのonblurの例]そうのような問題に
を進めるべきかのような
@Directive({
selector: '[validate-onblur]',
host: {
'(focus)': 'onFocus($event)',
'(blur)': 'onBlur($event)'
}
})
export class ValidateOnBlurDirective {
constructor(public formControl: NgControl) {
}
onFocus($event) {
this.formControl.control.markAsUntouched({onlySelf: true});
}
onBlur($event) {
this.formControl.control.markAsTouched({onlySelf: false});
}
}
ユーザーがURLを初めて訪れるとプロパティは、自然のままになりますぼかしではそれをそのままにして、元の状態のエラーを表示する必要があります。 次回は来ると元気になります。
実際の解決策ではなく、擬似コードのようです。 私は反応形式のonBlurを達成するための指示を使用しました。 LINK
これは、タッチされたフラグに依存する他のすべてのロジックを、期待通りに機能させるために破棄します。 – cgTag
はいそれはあなたが@ThinkingMediaのリンクをチェックすれば、それはうまくいくでしょう –
このための静的ブール値フラグはありません。コントロールの 'statusChanges'観測値に登録し、状態遷移を追跡する必要があります。 – cgTag