Feature #3121
closedНужно проверять имена атрибутов на соответствие правилам JavaScript
100%
Description
Нужен чекер, который не даст создать атрибут с некорректным именем (или изменить имя на некорректное). В окне создания/изменения атрибута должен появляться красный "флажок" с соответствующими пояснениями. И кнопка ОК должна становиться неактивной до тех пор, пока не будет введено корректное имя.
На данный момент обрабатываются не все возможные ситуации.
По правилам JavaScript
1. длина идентификатора - не меньше 1 символа (но у нас это уже проверяется в окне создания/изменения атрибута).
2. первый символ: буква, '_' или '$'.
3. в знаках, кроме первого, допустимы: буквы, цифры, знаки '_' и '$'.
4. Вообще запрещены: пробелы и спец. символы, отличные от '_' и '$'.
Updated by Viktoria Kopach over 12 years ago
- Subject changed from Нужен чекер для проверки имен атрибутов на соответствие правилам JavaScript to Нужен проверять имена атрибутов на соответствие правилам JavaScript
- Description updated (diff)
Updated by Viktoria Kopach over 12 years ago
- Assignee set to Alexey Khoroshilov
Нужно еще как-то обрабатывать ситуацию, в которой json меняется вручную. Там тоже могут указать некорректное имя атрибута. Чекер?
Updated by Viktoria Kopach over 12 years ago
- Subject changed from Нужен проверять имена атрибутов на соответствие правилам JavaScript to Нужно проверять имена атрибутов на соответствие правилам JavaScript
Updated by Alexey Khoroshilov about 12 years ago
- Assignee changed from Alexey Khoroshilov to Denis Kildishev
Updated by Denis Kildishev about 12 years ago
- Status changed from New to Resolved
- % Done changed from 0 to 100
Applied in changeset r3071.
Updated by Alexey Khoroshilov about 12 years ago
- Status changed from Resolved to Open
- Published in build deleted (
0.13.158)
Более адекватный паттерн для регулярных выражений:
static final Pattern valid_inner_name_pattern = Pattern.compile("[A-Za-z0-9а-яА-Я_[$]]+"); static final Pattern valid_name_pattern = Pattern.compile("[A-Za-z0-9а-яА-Я]+[A-Za-z0-9а-яА-Я_[$]]*"); return inner ? valid_inner_name_pattern.matches(name) : valid_name_pattern.matches(name);
Updated by Denis Kildishev about 12 years ago
- Status changed from Open to Resolved
Applied in changeset r3072.
Updated by Alexey Khoroshilov about 12 years ago
Работа с DOORS processor протестирована?
Updated by Denis Kildishev about 12 years ago
- Status changed from Resolved to Open
Для DOORS нужно менять предикаты
Updated by Denis Kildishev about 12 years ago
- Status changed from Open to Resolved
Applied in changeset r3077.
Updated by Андрей Третьяков about 12 years ago
- Published in build set to 0.14.173
Updated by Viktoria Kopach about 12 years ago
А символ "-", который минус, разрешен, получается?
Updated by Alexey Khoroshilov about 12 years ago
Да, мы вроде как особых последствий этого не вспомнили. Или что-то забыли?
Updated by Alexey Khoroshilov almost 12 years ago
- Status changed from Verified to Closed