I know this kind of question has been asked several times, but having checked all the answers I haven't found the solution. In my HTML template I want to check if the input value already exists in the numbers array. If it exists a message is shown. I thought to solve this problem with 'indexOf' method or 'includes'. However this does not work. Have a look at this stackblitz.
HTML Template:
Numbers registered: {{ numbers }}
<form>
<label for="number" class="absolute left-0 -top-5 text-green-950 text-sm transition-all">number<span class="text-red-500">*</span></label>
<input id="number" #number="ngModel" (ngModel)="number" name="number" minlength="4" maxlength="4" required placeholder="number" />
<p class="text-sm px-3 text-red-500" *ngIf="!number.valid && number.touched">Enter exactly 4 digits!</p>
<p class="text-sm px-3 text-red-500" *ngIf="numbers.includes(number) && number.touched">This number already exists!
</p>
</form>
TS file:
import { Component, VERSION } from '@angular/core';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: [ './app.component.css' ]
})
export class AppComponent {
name = 'Angular ' + VERSION.major;
numbers:any = [1000,1100,1200,1300,1400];
}
[(ngModel)]="number"? or(ngModel)="number"?