Mám formulář skupina. A regulární výraz pro validaci jméno. Omezení pro název vstupní pole jsou
- nutné.
- je alfanumerických.
- začíná s abecedou.
- neobsahuje žádné speciální znaky.
Můj regex(^[a-zA-Z][a-zA-Z0-9]*$
) je v pořádku při kontrole on-line.
Ale s úhlovou ten formControl se ukazuje, platí pro všechny řetězce.
Může někdo vysvětlit proč je tam takový rozdíly mezi výsledky s úhlovou Validator.vzor() a js engine.
Snažil jsem se následující bezvýsledně (všechny jsou návrhy z stackoverflow odpovědi):
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)])]