Основной номер счета - это в общем случае буквенно-числовое значение, однозначно определяющее получателя платежа внутри провайдера (сервиса). Он также известен под термином primary account number (PAN). Например, у платежных систем Visa и Mastercard - это 16-значный номер банковской карты, его всегда можно использовать для перевода денег. У интернет-провайдера это номер абонента. У ритейл-банка это номер расчетного счета получателя.
Поле ввода основного номера счета - это однострочное поле ввода с буквенно-цифровой клавиатурой. Оно может иметь различные: маску ввода, шаблон валидации, а также заголовок. Все они зависят от выбранного ранее в вызывающем сценании провайдера (сервиса) для оплаты.
- Маска ввода должна задаваться в программе гибко с помощью регулярного выражения или похожих средств. Например, возможны маски ввода
- +7( ___ )___ - __ - __ (номер телефона)
- Д№____ /20____ (номер договора)
- ____ ____ ____ ____ (номер карты)
Маска ввода помогает ввести правильное значение, однако не полностью контролирует правильность. Например, для адреса электронной почты маска ввода должна быть обычной строкой, т.к. мы не знаем, сколько символов будет стоять перед знаком @, и сколько от @ до ближайшей или последней точки. Для контроля валидности введенной строки служит шаблон валидации.
- Шаблон валидации значения - это регулярное выражение. Например, для адресов электронной почты проверяется наличие последовательности определенного вида перед знаком @, а также наличие хотя бы одной точки между доменными именами после знака @ (есть и другие проверки).
- Над полем ввода отображается заголовок, который также зависит от выбранного провайдера (сервиса). Например, "Укажите номер карты" или "Укажите номер личного кабинета".
Поле ввода имеет необходимые средства для корректировки и редактирования вводимого значения - удалить один символ, удалить значение, поместить курсор на выбранную позицию и т.д.
Валидация поля ввода производится по мере ввода (изменения) значения. Должна быть индикация для случаев:
- Пользователь не до конца ввел значение
- Значение неверно (например, если введен недопустимый символ - это выявляется даже если значение введено не до конца)
- Значение введено правильно и полностью
Индикация не должна мешать пользователю вводить значение или вселять в него неуверенность в своих действиях.
Правильность введенного значения, проверенная по шаблону, не гарантирует, что значение пройдет онлайн-проверку на следующем шаге сценария во внешнем сервисе (т.е. что такой номер абонента действительно зарегистрирован в системе провайдера).