Project

General

Profile

Actions

Feature #3121

closed

Нужно проверять имена атрибутов на соответствие правилам JavaScript

Added by Viktoria Kopach almost 12 years ago. Updated over 11 years ago.

Status:
Closed
Priority:
Normal
Category:
-
Target version:
Start date:
06/26/2012
Due date:
% Done:

100%

Estimated time:
Published in build:
0.14.173

Description

Нужен чекер, который не даст создать атрибут с некорректным именем (или изменить имя на некорректное). В окне создания/изменения атрибута должен появляться красный "флажок" с соответствующими пояснениями. И кнопка ОК должна становиться неактивной до тех пор, пока не будет введено корректное имя.
На данный момент обрабатываются не все возможные ситуации.

По правилам JavaScript
1. длина идентификатора - не меньше 1 символа (но у нас это уже проверяется в окне создания/изменения атрибута).
2. первый символ: буква, '_' или '$'.
3. в знаках, кроме первого, допустимы: буквы, цифры, знаки '_' и '$'.
4. Вообще запрещены: пробелы и спец. символы, отличные от '_' и '$'.

Actions #1

Updated by Viktoria Kopach almost 12 years ago

  • Subject changed from Нужен чекер для проверки имен атрибутов на соответствие правилам JavaScript to Нужен проверять имена атрибутов на соответствие правилам JavaScript
  • Description updated (diff)
Actions #2

Updated by Viktoria Kopach almost 12 years ago

  • Assignee set to Alexey Khoroshilov

Нужно еще как-то обрабатывать ситуацию, в которой json меняется вручную. Там тоже могут указать некорректное имя атрибута. Чекер?

Actions #3

Updated by Viktoria Kopach almost 12 years ago

  • Target version set to 0.14
Actions #4

Updated by Viktoria Kopach over 11 years ago

  • Subject changed from Нужен проверять имена атрибутов на соответствие правилам JavaScript to Нужно проверять имена атрибутов на соответствие правилам JavaScript
Actions #5

Updated by Alexey Khoroshilov over 11 years ago

  • Assignee changed from Alexey Khoroshilov to Denis Kildishev
Actions #6

Updated by Denis Kildishev over 11 years ago

  • Status changed from New to Resolved
  • % Done changed from 0 to 100

Applied in changeset r3071.

Actions #7

Updated by Alexey Khoroshilov over 11 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);
Actions #8

Updated by Denis Kildishev over 11 years ago

  • Status changed from Open to Resolved

Applied in changeset r3072.

Actions #9

Updated by Alexey Khoroshilov over 11 years ago

Работа с DOORS processor протестирована?

Actions #10

Updated by Denis Kildishev over 11 years ago

  • Status changed from Resolved to Open

Для DOORS нужно менять предикаты

Actions #11

Updated by Denis Kildishev over 11 years ago

  • Status changed from Open to Resolved

Applied in changeset r3077.

Actions #12

Updated by Андрей Третьяков over 11 years ago

  • Published in build set to 0.14.173
Actions #13

Updated by Viktoria Kopach over 11 years ago

А символ "-", который минус, разрешен, получается?

Actions #14

Updated by Alexey Khoroshilov over 11 years ago

Да, мы вроде как особых последствий этого не вспомнили. Или что-то забыли?

Actions #15

Updated by Viktoria Kopach over 11 years ago

  • Status changed from Resolved to Verified

Тогда ок)

Actions #16

Updated by Alexey Khoroshilov over 11 years ago

  • Status changed from Verified to Closed
Actions

Also available in: Atom PDF