Каковы общие методы уведомления пользователя о недопустимом вводе?

StackOverflow https://stackoverflow.com/questions/1053240

Вопрос

В моей компании я видел несколько подходов к уведомлению пользователя, когда его ввод неверен (наша проверка обычно выполняется, когда пользователь нажимает какую-либо форму кнопки "Отправить").

Вот наиболее распространенные подходы, которые я видел:

  • Используя Поставщик ошибок класс для сообщения о том, какие элементы управления содержат недопустимые входные данные.(это мое текущее предпочтение, потому что проверка может быть выполнена за один раз, и пользователь может легко определить, какие элементы управления содержат недопустимые входные данные.)

  • Проверка входных данных во всех элементах управления и составление списка сообщений для отображения пользователю.Как только процедура проверки завершится, отобразите все сообщения "неверный ввод" пользователю сразу (через MessageBox).

  • Последовательно проверяя входные данные в каждом элементе управления и уведомляя пользователя при обнаружении части недопустимых данных (через MessageBox).(Я не поклонник этого подхода, потому что, если Control_A и Control_B оба содержат недопустимые данные, пользователю придется попытаться отправить данные дважды, чтобы увидеть оба сообщения проверки.)

Как вы думаете, какой наилучший способ эффективно уведомлять пользователей о недопустимом вводе?

Это было полезно?

Решение

Используя Ошибка IDataError, вы можете объединить два первых подхода, поскольку оба они позволяют вам выдавать ошибку для отдельных элементов управления, но также и совокупное сообщение об ошибке для всего представления.

В некоторых случаях у вас может быть логика проверки, которая зависит от комбинация из нескольких различных входных значений, поэтому привязка проверки только к каждому элементу управления была бы слишком дорогостоящей.С другой стороны, вы все еще хотите иметь возможность предоставлять сообщение об ошибке для каждого элемента управления во многих случаях, когда это имеет смысл.IDataError позволяет вам делать и то, и другое.Наиболее распространенной реализацией пользовательского интерфейса является наличие визуального сигнала (например, мигающего значка) рядом с каждым недопустимым элементом управления.

Отображение модального диалога (окна сообщения) каждый раз, когда пользователь делает что-то недопустимое, является очень эффективным способом раздражения пользователя - они теряют контекст и вынуждены тратить время на нажатие кнопки "ОК", чтобы закрыть диалоговое окно.

Другие советы

Мы проверяем все элементы управления, когда пользователь нажимает OK.

Мы помечаем каждое недопустимое значение специальным цветом и выводим список всех ошибок в окне сообщения.

Если технология позволяет и если это никоим образом не вредит логическому потоку или удобству использования, всегда лучше уведомлять пользователя об ошибках как можно скорее.(Поставщик ошибок, Ajax, что угодно)

Всегда неприятно, когда пользователю приходится отправлять форму несколько раз только для того, чтобы узнать, введено ли имя пользователя!

Я провел исследование юзабилити по этому вопросу:Большинство пользователей покидают страницу с отвращением, если только они действительно не хотят того, что находится на другом конце регистрации.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top