Я работаю над проектом angular и мне нужно создать пользователя. Не могу добавить новый объект с существующим элементом, для которого я попытался добавить пользовательский валидатор, который проверяет, существует ли уже значение поля Matricule в моя база данных или нет, но я обнаружил:
ОШИБКА TypeError: Невозможно прочитать свойство 'Matriculesoldlist' из неопределенного в CheckIfNotIntoarray
Здесь я знаю, что моя проблема заключается в том, что я создал component Matriculesoldlist = [] (служебные данные еще не там), но когда я объявил некоторые значения в массив, например Matriculesoldlist = ["Mat1", "Mat2"]; Я не вижу разницы (та же проблема).
Итак, ребята, как я могу проверить, является ли поле matricule уникальным или не использует служебные данные.
Мой код:
idSearchForm = this.fb.group({
Matricule: ['', [Validators.required,this.CheckIfNotIntoarray]],// Here is the costom validator
Icon: [''],
Departement: [''],
Chauffeur: [''],
Marque: ['',Validators.required],
Modele: [''],
Annee: [''],
TypeE: [''],
Capacite: [''],
Conso: [''],
Poid: [''],
Cylindree: [''],
NuméroC: [''],
Date_circulation: null,
Date_reforme: null,
NPlace: [''],
Puissancef: [''],
Puissancer: ['']
});
Matriculesoldlist =[];
ngOnInit() {
this.service.get_cars().subscribe((data)=>{
console.log(data);
this.UIGestionlist = json2array(data);
this.Listtrackigobjct = this.UIGestionlist[3];
this.Listtrackigobjct.forEach(e=>{this.Matriculesoldlist.push(e.FullName);
});
}
CheckIfNotIntoarray(control: AbstractControl): { [key: string]: boolean } | null {
this.Matriculesoldlist.forEach(element => {
if(control.value == element){
return null;
}
});
return { 'intoarray': true };
}