PinCode
Виджет PinCode позволяет ввести PIN-код или OTP. Вы можете использовать этот виджет для проверки личности пользователя или транзакции перед оплатой в финтех-приложениях.
Перед тем как приступить к работе с виджетами форм, ознакомьтесь с руководством по состояниям виджетов, чтобы эффективно управлять состоянием и поведением элементов формы.
Добавление виджета PinCode
Чтобы добавить виджет PinCode:
- Откройте па нель виджетов и найдите виджет PinCode на вкладке Base Elements. Вы можете перетащить его в нужное место или добавить непосредственно из дерева виджетов или области холста.
- Чтобы увеличить длину PIN-кода (количество значений, которые может ввести пользователь), перейдите в панель свойств, найдите свойство Pin Length и введите значение. Примечание: Вы можете установить это значение максимум до 8.
- Если вы используете этот виджет для получения секретного PIN-кода от пользователей, вы можете скрыть его с помощью специального символа. Для этого включите переключатель Obscure Text и выберите Obscuring Character среди *, -, ? и •.
- Вы также можете включить или отключить переключатель Hint Text и выбрать Hint Character, который отображается, когда ничего не введено.
Запуск действия по завершении ввода
Давайте разберёмся, как запустить действие после завершения ввода значения в этот виджет. Это полезно, когда вы хотите сравнить введённое значение с тем, что хранится на вашем бэкенде.
Для этого:
- Выберите виджет PinCode, в панели свойств (правое меню) выберите Actions и нажмите + Add Action.
- Установите Type of Action (он же callback) в On Completed. Это означает, что действия, добавленные здесь, будут вызваны после ввода пользователем всех значений PIN-поля.
- Теперь вы можете добавить любое действие.
Вот пример отображения сообщения в snackbar, которое показывает введённое значение в виджете PinCode.
Запуск действия при изменении
Возможно, вы захотите запустить действие каждый раз, когда пользователь вводит или удаляет значение в каждом поле этого виджета. Например, вы можете проверить валидность введённой цифры сразу после её ввода и показать сообщение о том, что она недействительна. Для этого [добавьте действие с триггером../../../../resources/control-flow/user-interactivity/forms/form-triggers.md#on-change], который реагирует на изменения в этом виджете.
Запуск действия при изменении фокуса
Возможно, вы захотите запустить действие, когда пользователь нажимает на поле Pincode или выходит из него. Например, вы можете выполнить проверку валидности после завершения ввода кода и перемещения фокуса из поля. Для этого [добавьте действие с триггером../../../../resources/control-flow/user-interactivity/forms/form-triggers.md#on-focus-change], который реагирует на изменения фокуса в этом виджете.
Валидация
Вы можете проверить виджет Pincode, чтобы убедиться, что пользователь ввёл какое-либо значение. Для этого поместите виджет Pincode внутрь виджета Form. В виджете Form введите сообщение об ошибке, которое хотите отобразить, и затем запустите действие Validate Form. Это отобразит сообщение об ошибке, когда пользователь попытается отправить форму без значения PIN-кода.
Вы также можете настроить высоту текста ошибки в Properties Panel > Error text height.

Настройка
Вы можете настроить внешний вид и поведение этого виджета с помощью различных свойств, доступных в панели свойств.
Изменение типа клавиатуры
Когда клавиатура открывается по умолчанию, можно вводить только цифры. Но возможно, вы захотите разрешить пользователям вводить как буквы, так и цифры. Для этого выберите виджет PinCode, перейдите в Properties Panel > PinCode Properties > и установите Keyboard Type в Visible Password.


Использование PinCode для секретного PIN-кода
Чтобы сделать поле PinCode секретным, перейдите в Properties Panel > Pin Code Properties > и включите Obscure Text. Теперь при вводе значения оно будет скрыто звёздочкой (*). Вы можете изменить этот символ с помощью выпадающего списка Obscuring Character.