5
我需要傳遞一個對象數組到a2自定義驗證器,然後我想驗證模板驅動的表單字段的值與該數組中的記錄的值。角2傳數組到自定義驗證器(模板驅動的形式)
但是我無法檢索驗證器中的對象。
我能看到的唯一的東西就是它的名字。
任何幫助,慷慨讚賞。
<label class="btn btn-default btn-sm"
[(ngModel)]="krediHesaplamaModel.radioModelKrediTur" name="krediHesaplamaModel.radioModelKrediTur"
btnRadio="0"
(click)="onRadioButtonKrediHesaplamaTurChange()" krediTuruValidator="this.krediList" >
import { Directive, forwardRef, Attribute } from '@angular/core';
import { Validator, AbstractControl, NG_VALIDATORS } from '@angular/forms';
import {Kredi} from '../kredi';
@Directive({
selector: '[krediTuruValidator][formControlName],[krediTuruValidator][formControl],[krediTuruValidator][ngModel]',
providers: [{ provide: NG_VALIDATORS, useExisting: forwardRef(() => KrediTuruValidator), multi: true },
]
})
export class KrediTuruValidator implements Validator {
constructor( public krediTuruValidator: Kredi[]) { }
validate(c: AbstractControl): { [key: string]: any } {
console.log('KL' + this.krediTuruValidator[0].krediTuru); //UNDEFINED
let v = c.value;
return null;
}
}
'@Attribute( 'krediTuruValidator')'返回一個'string'價值,我想你必須先在做之前,它解析爲JSON'this.krediTuruValidator [0] .krediTuru' –
感謝您的迅速response.JSON.parse(this.krediTuruValidator)會拋出一個錯誤,指出類型Kredi []的參數不能分配給字符串。 – desperado06