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

- Автоматически считать данные и предложить их проверить. Машины ошибаются реже, чем люди.


- Не допускать ввода некорректных символов. Например, буквы в номере карты.
- Форматировать данные в полях ввода. Например, номер телефона и карты:

- Давать подсказки для сложных случаев.
Пример с CVV
Там, где это возможно, нужно валидировать данные еще в процессе их заполнения пользователем.
Например: корректность ввода номера карты. По первым шести цифрам можно определить платежную систему и банк выпустивший карту. С седьмой по пятнадцатую цифру содержится информация о типе и валюте карты. Последняя цифра это проверочное число, которое позволяет процерить корректность ввода номера карты. Показывая эти данные пользователю в процессе заполнения мы даем ему возможность понять все ли он делает верно.
Ошибки с привязкой к компоненту
Когда есть возможность, необходимо точно дать понять пользователю где он допустил ошибку.


Ошибки без привязки к компоненту
Не всегда ошибка может относиться к конкретному компоненту. В этом случае используем нотификацию с объяснением возможных причин.
