Opened 4 weeks ago
Closed 2 weeks ago
#776 closed улучшение (не будем делать)
Уточнять "координаты" места возникновения ошибки при применении настроек плат ST-124M, ST-116M, ST-118M,
| Reported by: | san | Owned by: | alx |
|---|---|---|---|
| Priority: | средний | Milestone: | 1 очередь |
| Component: | web-интерфейс (sw) | Keywords: | |
| Cc: |
Description
В #774 разбирается ситуация, где интерфейс при записи настроек выдаёт ошибку "Значение приоритета должно быть в диапазоне 0...7". Но найти поле, на которое ругается интерфейс довольно сложно. настроек у платы много. Даже сам разработчик интерфейса, без подглядывания в код, не смог уточнить на какое поле ругается интерфейс.
Предлагаю уточнять "координаты" места возникновения ошибки при применении настроек.
- Например, можно "подсветить" место возникновение ошибки (кажется для каких-то плат такое уже делали, но я не уверен)
- Кроме того, настройки указанных в тикете плат разбиты на главы(пронумерованы) и ошибку можно уточнить используя эту нумерацию, например "Значение приоритета должно быть в диапазоне 0...7 (Таблица 7.2)".
Change History (4)
follow-up: 3 comment:2 by , 4 weeks ago
Уточни, пожалуйста, что ты подразумеваешь под словом "подсветить".
Я имел ввиду это:
Поле ввода, содержащее ошибочное значение, обрамляется ярко-красной рамкой;
Фокус ввода устанавливается на поле ввода, содержащее ошибочное значение.
Видимо в #774 из-за ошибки это не выполнилось.
comment:3 by , 4 weeks ago
Replying to san:
Уточни, пожалуйста, что ты подразумеваешь под словом "подсветить".
Я имел ввиду это:
Поле ввода, содержащее ошибочное значение, обрамляется ярко-красной рамкой;
Так ведь это и так уже есть! То есть получается, что "подсвечивание", о котором ты писал в описании тикета, улучшением не является. Верно ли я понял, что суть твоего предложения заключается в том (и только в том), чтобы в сообщения об ошибках добавить в скобках номера групп? Что-то я совсем запутался...
Фокус ввода устанавливается на поле ввода, содержащее ошибочное значение.
Видимо в #774 из-за ошибки это не выполнилось.
Баг, упоминавшийся в твоем комментарии (я не знаю, тот ли это баг, о котором писал автор тикета, или нет), состоял в том, что веб-интерфейс пытался валидировать значение несуществующей строки ввода. Как можно установить фокус ввода в несуществующую строку? :)
comment:4 by , 2 weeks ago
| Resolution: | → не будем делать |
|---|---|
| Status: | new → closed |
Из всего предложения по "уточнению координат" в описании тикета я понял только что в сообщения об ошибках предлагается добавить перечисление номеров групп параметров (например 1-5-3), в которых расположен элемент ввода с ошибочным значением. Принципиального возражения против этой идеи как таковой у меня нет, однако реализовать это будет довольно трудоемко. Дело в том, что в платах ST-124M, ST-116M и ST-018M очень много конфигурационных параметров, и в коде, применяющем пользовательские настройки, эти параметры обрабатываются не по отдельности, а сразу "кучей". Например все параметры, вводящие значение каких-либо байтов, валидируются одним общим фрагментом кода, примерно так:
$.each(config_bytes, (n, i) => { const input = this.popup.find(`input.byte${i}`); const b = parseInt(input.val()); if(input.length > 0) { if(isNaN(b) || b < 0 || b > 255) return invalidValue(input, 'Значение параметра должно быть в диапазоне 0...255'); } });
где config_bytes - массив номеров байт в конфигурации платы (и их там много). Любые уточнения в сообщении "Значение параметра..." потребуют или существенного усложнения приведенного фрагмента кода, или вообще валидации каждого параметра по отдельности.
С другой стороны, я считаю, что того "подсвечивания", которое реализовано сейчас (см. comment:1), вполне достаточно, и дополнительное "уточнение координат" не стоит того усложнения кода, которое потребует его реализация. Поэтому я принял решение дополнительные уточнения не делать.

Replying to san:
При выдаче подобных сообщений уже выполняется следующее:
Верно ли я понял, что ты считаешь, что перечисленного выше недостаточно?
Уточни, пожалуйста, что ты подразумеваешь под словом "подсветить".