Здравствуйте, Dog, Вы писали:
Dog>Наткнулся в DevExpress на их ErrorProvider который отличается от стандартного таким поведением (первое поле) и задумался... Dog> Dog> имхо, выглядит криво. Контрол по ширине прыгает туда-сюда. Да стандартный как-то не радует (второе поле)
Dog>Как ещё кошерно можно показать пользователю что он не ввёл/не выбрал значение в поле ?
Тут уже писали про Border и Background, но я все же хотел бы продемонстрировать ненавязчивый (и, как мне кажется, удачный) способ указания на незаполненное поле, применяемый фирмой 1С:
Здравствуйте, Dog, Вы писали:
Dog>Наткнулся в DevExpress на их ErrorProvider который отличается от стандартного таким поведением (первое поле) и задумался... Dog> Dog> имхо, выглядит криво. Контрол по ширине прыгает туда-сюда. Да стандартный как-то не радует (второе поле)
Dog>Как ещё кошерно можно показать пользователю что он не ввёл/не выбрал значение в поле ?
А зачем вообще допускать такую ситуацию, когда пользователь может забыть ввести какое-то значение. Можно ведь сразу сделать выбор за него, подставив наиболее подходящее значение! Пользователю останется поменять значение, если его что-нибудь не устроит. Таким образом, пользователь ощущает контроль над ситуацией, а не принуждение, когда его заставляют снова и снова выбирать какое-то значение!
Другими словами, если пользователю нужно выбрать одно значение из множества (1, 2, 3), не стоит предлагать ему для выбора список (жопа, 1, 2, 3).
Здравствуйте, Dog, Вы писали:
Dog>>>Как ещё кошерно можно показать пользователю что он не ввёл/не выбрал значение в поле ? В>>А зачем вообще допускать такую ситуацию, когда пользователь может забыть ввести какое-то значение. Можно ведь сразу сделать выбор за него, подставив наиболее подходящее значение! Пользователю останется поменять значение, если его что-нибудь не устроит. Dog>Угу, или забыть поменять, что скорее Dog>Естественно я выставяю некоторые поля по умолчанию, например текущую дату и т.п.
Воля ваша, тут представлены другие варианты поведения UI при ошибках.
Здравствуйте, Dog, Вы писали:
Dog>Может для web это и нормально, но на винформах обычно не хватает места, а тут ещё рамка будет туда-сюда прыгать.... или надпись не исчезает после заполнения ? ... хотя можно заменять иконку и надпись после успешного заполнения.
Показывать только иконки, внутри рамки, при заполнении не исчезают. Надпись «not all required fields were filled» показывается в одном экземпляре где-нибудь сверху диалога.
Dog>>Как ещё кошерно можно показать пользователю что он не ввёл/не выбрал значение в поле ? K>Border? Background color?
Это понятно Я думал может какие новые веяния есть
Dog>>Как ещё кошерно можно показать пользователю что он не ввёл/не выбрал значение в поле ? В>А зачем вообще допускать такую ситуацию, когда пользователь может забыть ввести какое-то значение. Можно ведь сразу сделать выбор за него, подставив наиболее подходящее значение! Пользователю останется поменять значение, если его что-нибудь не устроит.
Угу, или забыть поменять, что скорее
Естественно я выставяю некоторые поля по умолчанию, например текущую дату и т.п.
Здравствуйте, Владек, Вы писали: В>А зачем вообще допускать такую ситуацию, когда пользователь может забыть ввести какое-то значение. Можно ведь сразу сделать выбор за него, подставив наиболее подходящее значение! Пользователю останется поменять значение, если его что-нибудь не устроит. Таким образом, пользователь ощущает контроль над ситуацией, а не принуждение, когда его заставляют снова и снова выбирать какое-то значение!
В>Другими словами, если пользователю нужно выбрать одно значение из множества (1, 2, 3), не стоит предлагать ему для выбора список (жопа, 1, 2, 3).
А если пользователь забыл о каком-то поле и туда попало значение которое вы "любезно" подставили, которое создаст проблему в будущем?
Dog>>Как ещё кошерно можно показать пользователю что он не ввёл/не выбрал значение в поле ? WM>Я, в последний раз, делал так:
Хорошая идея
Только выравнивание глаз режет
+1 N>А ещё copylove предлагал слева от поля ввода вплотную к нему делать красный прямоугольник в высоту поля. Наводишь на него — показывает текст ошибки.
ErrorProvider ?
Здравствуйте, Dog, Вы писали:
Dog>Наткнулся в DevExpress на их ErrorProvider который отличается от стандартного таким поведением (первое поле) и задумался... Dog> Dog> имхо, выглядит криво. Контрол по ширине прыгает туда-сюда. Да стандартный как-то не радует (второе поле)
Dog>Как ещё кошерно можно показать пользователю что он не ввёл/не выбрал значение в поле ?
мне кажется, вы не сумели его приготовить, стандартные выглядят так (по крайней мере в AspxExperience)
Dog>>Как ещё кошерно можно показать пользователю что он не ввёл/не выбрал значение в поле ? DШ>мне кажется, вы не сумели его приготовить, стандартные выглядят так (по крайней мере в AspxExperience) DШ>
Отлично, только как это будет выглядеть когда пользователь заполнит форму ?
зы. Нет, это винформы.
Здравствуйте, Dog, Вы писали:
Dog>>>Как ещё кошерно можно показать пользователю что он не ввёл/не выбрал значение в поле ? DШ>>мне кажется, вы не сумели его приготовить, стандартные выглядят так (по крайней мере в AspxExperience) DШ>> Dog>Отлично, только как это будет выглядеть когда пользователь заполнит форму ? Dog>зы. Нет, это винформы.
заполнил — после validate|lost focus рамка ушла..
а вообще, я поторопился с постом, прочитав дискуссию как я понял речь идет о том чтобы показатть заранее те контролы, которые требуют наличия данных
Dog>>>>Как ещё кошерно можно показать пользователю что он не ввёл/не выбрал значение в поле ? DШ>>>мне кажется, вы не сумели его приготовить, стандартные выглядят так (по крайней мере в AspxExperience) DШ>>> Dog>>Отлично, только как это будет выглядеть когда пользователь заполнит форму ? Dog>>зы. Нет, это винформы. DШ>заполнил — после validate|lost focus рамка ушла..
Может для web это и нормально, но на винформах обычно не хватает места, а тут ещё рамка будет туда-сюда прыгать.... или надпись не исчезает после заполнения ? ... хотя можно заменять иконку и надпись после успешного заполнения.
> Как ещё кошерно можно показать пользователю что он не ввёл/не выбрал значение в поле ?
Я делал в форме фидбека так:
Вообще е-мейл НЕ обязателен, чтобы могли анонимно писать, но в поснениях к полю написано мол "если укажете емейл получите ответ". Пока поле не заполнено рядом мигает GIF с надписьью "е-мейл не указан", как только е-мейл в поле ввели — GIF скрывается (вернее иначе: менял на полностью пустой и прозрачный GIF)
Тому кто хотел бы все таки указать е-мейл — напоминает, тем кто хочет написать анонимно — не мучают диалоги "Не, чего правда не скажете е-мейл". + опять же мигание GIF внимание привлекает, но не мешает.
C>Я делал в форме фидбека так: C>Вообще е-мейл НЕ обязателен, чтобы могли анонимно писать, но в поснениях к полю написано мол "если укажете емейл получите ответ". Пока поле не заполнено рядом мигает GIF с надписьью "е-мейл не указан", как только е-мейл в поле ввели — GIF скрывается (вернее иначе: менял на полностью пустой и прозрачный GIF)
У меня с десяток обязательных полей. А теперь представьте себе эту новогоднюю ёлочку
> У меня с десяток обязательных полей. А теперь представьте себе эту новогоднюю ёлочку
Ну поставить всем обязательным полям жирный шрифт. Нафиг сигнализировать об ошибке не введенного значения в обязательное поле, если пользователь по любому должен обязательно что-то ввести туда? Пусть сразу видит какие поля обязательны, я имел ввиду необязательные, но желательные поля. Или, к примеру, метки обязательных полей показывать жирным красным шрифтом, когда не введено значение, и менять на черный цвет, когда введено!?!
Здравствуйте, FireShock, Вы писали:
FS>А как насчет идей писАть label жирным шрифтом для необходимых полей?
Это реально полезно если форма большая, особенно если она не умещается на одну страницу и есть полоса прокрутки.
Здесь-же три поля, пользователь видит их раз-два в жизни, т.е.:
1) это не принесёт ожидаемой пользы;
2) я опасаюсь что это будет выглядеть не очень красиво;
3) мне тупо лень прикручивать дополнительный контрол для выделения жирным;
У меня, к тому-же, это чуть-ли не единственный диалог с такой валидацией и нет смысла прикручивать подобное выделение
ради обобщения интерфейса. -- Даже наоборот, если делать обобщение, то вся программа будет пестрить "жирными" лэйблами.