必要に応じてAngularFormControlチェック



Angular Formcontrol Check If Required



解決:

あなたはこのようなことをすることができます:

import {Component} from '@ angular / core'; import {FormGroup、FormControl、Validators、AbstractControl} from '@ angular / forms'; @Component({...})export class AppComponent {form:FormGroup = new FormGroup({control:new FormControl(null、Validators.required)}); get validator(){const validator = this.form.get( 'control')。validator({} as AbstractControl); console.log(バリデーター); if(validator && validator.required){return true; }}}

そして、あなたのテンプレートで:



コントロール:*送信

ノート: のタイプとしてフォームコントロールを取得するだけですこれを使用したAbstractControlthis.form.get( 'control')。validator({} as AbstractControl);

これにより、に存在するバリデーターのリストを含むオブジェクトが返されます。FormControl。次に、オブジェクトに必要なキー。それが存在し、その値がtrueの場合、必須のバリデーターがに適用されていることを確認できます。FormControl。




これが 作業サンプルStackBlitz あなたの参照のために。


もう少し抽象的なものが必要だったので、@ siddajmeraからの回答を少し調整して どれか 分野。

あなたの中で.tsファイル:



isRequiredField(field:string){const form_field = this.testForm.get(field); if(!form_field.validator){falseを返す; } const validator = form_field.validator({} as AbstractControl); return(validator && validator.required); }

次に、テンプレートファイルで次のようにします。

いくつかのフィールド:*いくつかのフィールド:*