Angular 2 : Validators.pattern() not working
Pass pattern as string, without /
which are the delimiters for regex
Validators.pattern('^[a-zA-Z]+$')
Remember to not do this:
Validators.pattern("[A-Z]{1,2}[0-9][0-9A-Z]?\s?[0-9][A-Z]{2}")
The gotcha is that you need a double backslash before the s to defeat string escape thus:
Validators.pattern("[A-Z]{1,2}[0-9][0-9A-Z]?\\s?[0-9][A-Z]{2}")
I had this same problem with a different pattern:
^\d{1,4}$
And I was using it like this:
Validators.pattern("^\d{1,4}$") // wrong
The problem is that the backslash \
has to be escaped, so the correct form is:
Validators.pattern("^\\d{1,4}$") // correct