Условный шаблон, который будет использоваться вместе с требуемым Angular7 / 8 - PullRequest
0 голосов
/ 16 октября 2019

В моей шаблонной форме текстовая область требуется в зависимости от условий. Я также хотел бы, чтобы образец был условным. Я попробовал этот синтаксис, основываясь на вопросе из angular 1.x, но он, похоже, не работает. - pattern=" condition ? '.*[^ ].*' : ''" Я тоже пробовал - pattern="condition ? (\s*[^\s]+\s*)+ : .*". это возможно с более поздними версиями Angular? Вот мой стек блиц: https://stackblitz.com/edit/conditionalpattern

Ответы [ 2 ]

2 голосов
/ 16 октября 2019

Я думаю, если вы хотите передать выражение, вы должны заключить шаблон в квадратные скобки. Но что более важно, вы не можете использовать атрибут pattern в теге textarea, потому что pattern недопустимый атрибут для textarea.

Как описано в MDN Web Docs ,

Вы не можете предоставить определенные регулярные выражения для проверки значения с использованием атрибута pattern, как вы можете с помощью элемента ввода

Так что в вашем случае я бы либо использовал input, либо рассмотрел бы использование CustomValidator. Если вы используете входные данные, убедитесь, что выражение заключено в квадратные скобки:

<input type="text" [pattern]="condition ? pattern : noPattern">

Вот крошечный стековый блик с рабочим примером поля ввода.

1 голос
/ 16 октября 2019

Вы хотите передать любое выражение? попробуйте это: <-input type = "text" [pattern] = "условие? pattern: noPattern">

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...