Bir form grubum var. Ve adı doğrulamak için normal bir ifade. Ad giriş alanının kısıtlamaları şunlardır
- gerekli.
- alfanümeriktir.
- alfabelerle başlar.
- herhangi bir özel karakter içermez.
Normal benim(^[a-zA-Z][a-zA-Z0-9]*$
) çevrimiçi kontrol ederken iyi çalışıyor.
Ancak angular ile formControl tüm dizeler için geçerli gösteriliyor.
Açısal Doğrulayıcı ile sonuçlar arasında neden böyle tutarsızlıklar olduğunu herkes açıklayabilir mi?desen() ve js motoru.
Aşağıdakileri boşuna denedim (hepsi stackoverflow cevaplarından gelen önerilerdir):
Validators.pattern(/^[a-zA-Z][a-zA-Z0-9]*$/)
Validators.pattern('[a-zA-Z][a-zA-Z0-9]*')
const nameRegex='^[a-zA-Z][a-zA-Z0-9]*$'
this.signupForm = this.formBuilder.group({
name: ['', Validators.required, Validators.pattern(nameRegex)],
email: ['', [Validators.required, Validators.pattern(emailRegex)]],
password: ['', Validators.compose([Validators.required, Validators.minLength(6)])],
c_password: ['', Validators.compose([Validators.required, Validators.minLength(6)])]