Angular で AbstractControl
内に初期値と初期値が変更されたかを確認するメソッドを追加したサンプルです。
AbstractControlDirective
も拡張することで、NgModel
や NgForm
でも使用できます。
新規登録と編集が同じ画面でのバリデーションメッセージ表示時に使用する想定です。
AbstractControl
に拡張プロパティinitValue
を追加。AbstractControl
に拡張メソッドisEdited
を追加。value
とinitValue
が異なっていたらtrue
を返す。AbstractControlDirective
に拡張メソッドisEdited
を追加。AbstractControlDirective
からAbstractControl.isEdited
を呼び出す。AbstractControlDirective
がNgForm
の場合は、Form内のコントロールのisEdited
が一つでもtrue
の場合、true
を返す。- テンプレートからの
initValue
の設定はInitValueDirective
経由で設定する。
- Node.js 10.x
- Yarn 1.12.x
- TypeScript 3.2.x
- Angular 7.2.x
git clone git@github.com:yasu-s/ng-forms-ext-sample.git
cd ng-forms-ext-sample
yarn
yarn start