0
개체 배열 데이터를 입력 컨트롤에 동적으로 할당하고 업데이트를 기반으로 논리를 구현하려는 요구 사항이 있습니다. 내 배열을 업데이트 할뿐만 아니라 중복 된 항목이있는 컨트롤에 입력 된 이름/데이터가 있는지 확인하기 위해 유효성 검사를 실행하고 싶습니다. . 유효성 검사를 위해 ReactiveForm 모듈을 사용했습니다. 그 성공 검증에 내가 직접 API에 대한 업데이트 된 구조를 통과 할 수 있도록 내가 같은 배열 구조를 만드는 방법angular2 (ReactiveForms)에서 동적 사용자 정의 유효성 검사를 추가하는 방법은 무엇입니까?
- - 그러나 나는이 문제 아래에 직면하고있다?
- 배열 객체의 id를 formControlName에 할당하는 방법은 현재 루프 인덱스를 할당하고 있습니다. 여기
plunkar 참조 - https://plnkr.co/edit/RSBpT0sFSI1GDCp6K7VR?p=preview
구성 요소 : (추상)
@Component({
selector: 'my-app',
template: `
<div>
<h3> Custom Group Validation</h3>
<form [formGroup]="myForm">
<div class="left">
names: <br>
<div formArrayName="names">
<div *ngFor="let item of namesArray.controls; let i = index">
<input type="text" [formControlName]="i">
<button (click)="removeAt(i)">X</button><br>
</div>
</div>
<div *ngIf="namesArray.hasError('duplicate')">
duplicate entries
</div>
<pre>Array value: <br>{{namesArray.value | json}}</pre>
</div>
</form>
</div>
`
})
클래스 :
namesArray:FormArray = new FormArray([], this.customGroupValidation );
dataArray: { custId: number, customerName: string }[] = [
{ custId: 101, customerName: 'John' },
{ custId: 102, customerName: 'Mike' },
{ custId: 103, customerName: 'Julia' }];
ngOnInit():void{
for(let ele of this.dataArray){
this.namesArray.push(
new FormControl(ele.customerName)
);
}
}
는 어떤 도움을 높이 평가!