Project

General

Profile

Feature #3121

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

Added by Viktoria Kopach almost 7 years ago. Updated over 6 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. Вообще запрещены: пробелы и спец. символы, отличные от '_' и '$'.

Associated revisions

Revision 3071 (diff)
Added by Denis Kildishev over 6 years ago

fixes #3121: add method in Attribute and its usage in AttribChecker and dialog

Revision 55858005 (diff)
Added by Denis Kildishev over 6 years ago

fixes #3121: add method in Attribute and its usage in AttribChecker and dialog

git-svn-id: https://forge.ispras.ru/svn/reqdb/trunk/requality@3071 f558eac1-05b1-4da7-9ed5-5050e8a619d6

Revision 3071 (diff)
Added by Denis Kildishev over 6 years ago

fixes #3121: add method in Attribute and its usage in AttribChecker and dialog

Revision 3072 (diff)
Added by Denis Kildishev over 6 years ago

fixes #3121: fixes patterns, add name tests

Revision 4cd33e5b (diff)
Added by Denis Kildishev over 6 years ago

fixes #3121: fixes patterns, add name tests

git-svn-id: https://forge.ispras.ru/svn/reqdb/trunk/requality@3072 f558eac1-05b1-4da7-9ed5-5050e8a619d6

Revision 3072 (diff)
Added by Denis Kildishev over 6 years ago

fixes #3121: fixes patterns, add name tests

Revision 3077 (diff)
Added by Denis Kildishev over 6 years ago

fixes #3121: fixes Predicates to meet DOORS attributes(adds '.','-',' ')

Revision bd8d6b0f (diff)
Added by Denis Kildishev over 6 years ago

fixes #3121: fixes Predicates to meet DOORS attributes(adds '.','-',' ')

git-svn-id: https://forge.ispras.ru/svn/reqdb/trunk/requality@3077 f558eac1-05b1-4da7-9ed5-5050e8a619d6

Revision 3077 (diff)
Added by Denis Kildishev over 6 years ago

fixes #3121: fixes Predicates to meet DOORS attributes(adds '.','-',' ')

History

#1

Updated by Viktoria Kopach almost 7 years ago

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

Updated by Viktoria Kopach almost 7 years ago

  • Assignee set to Alexey Khoroshilov

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

#3

Updated by Viktoria Kopach almost 7 years ago

  • Target version set to 0.14
#4

Updated by Viktoria Kopach almost 7 years ago

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

Updated by Alexey Khoroshilov over 6 years ago

  • Assignee changed from Alexey Khoroshilov to Denis Kildishev
#6

Updated by Denis Kildishev over 6 years ago

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

Applied in changeset r3071.

#7

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

Updated by Denis Kildishev over 6 years ago

  • Status changed from Open to Resolved

Applied in changeset r3072.

#9

Updated by Alexey Khoroshilov over 6 years ago

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

#10

Updated by Denis Kildishev over 6 years ago

  • Status changed from Resolved to Open

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

#11

Updated by Denis Kildishev over 6 years ago

  • Status changed from Open to Resolved

Applied in changeset r3077.

#12

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

  • Published in build set to 0.14.173
#13

Updated by Viktoria Kopach over 6 years ago

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

#14

Updated by Alexey Khoroshilov over 6 years ago

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

#15

Updated by Viktoria Kopach over 6 years ago

  • Status changed from Resolved to Verified

Тогда ок)

#16

Updated by Alexey Khoroshilov over 6 years ago

  • Status changed from Verified to Closed

Also available in: Atom PDF