Pattern validator does not use Unicode mode when pattern is of type string
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 70/100
- Tipo de issue
- Bug
- Clareza
- Claramente especificada
- Status de atividade
- Estagnada
- Stack de tecnologia
- angular, typescript
- Domínio
- frontend
Direção de pesquisa
Comece em packages/forms/src/validators.ts, no código de pattern-validator vinculado na issue, e compare sua construção de RegExp com a especificação de HTML pattern. Verifique se o exemplo que usa propriedades Unicode é aceito enquanto o padrão permanece ancorado conforme especificado; considera-se concluído quando os padrões de string suportarem o modo Unicode sem quebrar o comportamento de validação existente.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Which @angular/* package(s) are the source of the bug?
forms
Is this a regression?
No
Description
If the specified pattern is of type string, the pattern validator does not conform to the HTML input specifications for the pattern attribute and therefore does not support Unicode properties.
In particular, the specification states that
If specified, the attribute's value must match the JavaScript Pattern[+UnicodeSetsMode, +N] production.
and
Let anchoredPattern be the string "^(?:", followed by pattern, followed by ")$".
Especially the first one is important to use the Unicode properties.
A valid example for use in HTML would be [\p{L}\p{N}\-\.\(\) ]{2,}.
In order to fix this issue, this
https://github.com/angular/angular/blob/1bf99e2f9265ce5c289763c5150c3ba4264fd7aa/packages/forms/src/validators.ts#L538-L546
could be replaced by
regexStr = pattern;
regex = new RegExp(`^(?:${ pattern })$`, 'u');
Please provide a link to a minimal reproduction of the bug
No response
Please provide the exception or error you saw
No response
Please provide the environment you discovered this bug in (run ng version)
Angular CLI: 16.1.4
Node: 18.12.1
Package Manager: npm 9.6.6
OS: win32 x64
Angular: 16.1.4
... animations, cli, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router
Package Version
---------------------------------------------------------
@angular-devkit/architect 0.1601.4
@angular-devkit/build-angular 16.1.4
@angular-devkit/core 16.1.4
@angular-devkit/schematics 16.1.4
@schematics/angular 16.1.4
rxjs 7.8.1
typescript 5.0.4
Anything else?
No response
- Linguagem predominante
- TypeScript
- Estrelas
- 101k
- Forks
- 28.1k
- Merge médio
- 2d 6h
- PRs com merge (30d)
- 307
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de angular/angular
-
area: docs
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
-
area: forms forms: signals
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
-
area: docs gemini-triaged
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
-
area: forms forms: signals
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
-
area: docs area: forms
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
Todas as issues de angular/angular
Issues semelhantes
-
bug(cli): hapi doctor inline-media prints a fabricated B:\ helper-script path in packaged installs Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
-
Crush Aberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 85/100
catppuccin/catppuccin#3125 ·
-
Add a SECURITY.md Aberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 90/100
ElementsProject/cln-application#167 · 1 comentário · 1 reação ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
Quantco/pnpm-licenses#17 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100