I have a very simple Angular pattern like this:
<div>
<input [(ngModel)]="testField" name="testField" #testFieldN="ngModel" required pattern="[a-zA-Z]+" />
<div *ngIf="testFieldN.invalid"
class="alert alert-danger">
<div *ngIf="testFieldN.errors?.pattern">
Title is invalid.
</div>
<div *ngIf="testFieldN.errors?.required">
Title is required.
</div>
</div>
</div>
I expect that testField should have at least one alphabetical character. This means value like "One11" should be accepted. However, if I enter that value, the pattern error kicked off and shows "Title is invalid."
Can someone point out what is wrong? Also, I expect when the filed is empty, the pattern error should be kicked off, but it is not. Why is that?
To make it clear, this is how I test my pattern and it matches "One11": Demo