CodeField
Компонент CodeField используется для ввода OTP-кодов.
Быстрый старт
Размер
Размер задается с помощью свойства size. Ширина компонента также может регулироваться при помощи свойства width:
- Size
- Width
Форма компонента и длина кода
Форма компонента задается с помощью свойства shape, а длина кода с помощью codeLength:
Допустимые символы
За допустимые символы для ввода отвечает свойство allowedSymbols. Задается строкой или регулярным выражением.
Библиотека экспортирует наиболее используемые вариации допустимых символов:
import { ONLY_DIGITS_PATTERN, ONLY_CHARS_PATTERN, ONLY_DIGITS_AND_CHARS_PATTERN } from '@salutejs/plasma-b2c';
Поведение при вводе
Поведение ячейки при вводе некорректного символа регулируется свойством itemErrorBehavior.
При заполнении всех полей ввода срабатывает колбэк onFullCodeEnter. При неверном вводе кода поведение компонента управляется свойством codeErrorBehavior. Индикация ошибки — с помощью флага isError и колбэка setIsError:
- itemErrorBehavior
- codeErrorBehavior
Тип клавиатуры на мобильных устройствах
Свойство inputMode управляет типом виртуальной клавиатуры, отображаемой на мобильных устройствах.
По умолчанию используется numeric — открывается числовая клавиатура. Значение text открывает стандартную текстовую клавиатуру:
Работа с OTP-кодом из СМС
Функционал Web OTP API актуален только в мобильных браузерах. Для корректного автозаполнения кода СМС должна быть отправлена в следующем формате:
Ваш код подтверждения: 123456.
@plasma.sberdevices.ru #123456
Первая и вторая (пустая) строки являются необязательными и предназначены для удобства чтения пользователем. Последняя строка обязательна и должна состоять из:
- доменной части URL-адреса веб-сайта, который вызвал API; обязательно начинается с символа
@ - затем следует OTP, перед которым стоит знак
#