Ich muss ein Array von Objekten an den benutzerdefinierten Custom Validator übergeben und dann möchte ich den Wert des Vorlage getrieben Formularfeld gegen die Datensätze in diesem Array validieren.Winkel 2 Pass-Array zu benutzerdefinierten Validator (Template-gesteuerte Formular)
Allerdings kann ich das Objekt im Validator nicht abrufen.
Das einzige, was ich sehen kann, ist der Name als String.
Jede Hilfe wird freundlich geschätzt.
<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')' ist ein 'string' Wert zurück, ich denke, Sie es zu JSON zu analysieren haben, bevor tun' this.krediTuruValidator [0] .krediTuru' –
Danke für die rasche response.JSON.parse (this.krediTuruValidator) gibt einen Fehler aus, der besagt, dass das Argument vom Typ Kredi [] nicht der Zeichenfolge zugewiesen werden kann. – desperado06