رمز تحقق

InputOTP

حقل رمز تحقق لمرة واحدة في React لتسجيل الدخول والتحقق: رموز رسائل نصية من 6 خانات، تجميع الخانات، رقم سري مقنّع، لصق، تعبئة تلقائية، وonComplete.

يستقبل InputOTP رمزاً رقمياً (يتكون رمز الرسائل النصية في السعودية من 6 أرقام). تعمل التعبئة التلقائية من الرسائل النصية، اللصق، وBackspace، ويستدعي المكون onComplete عند امتلاء آخر خانة. تبقى الأرقام مرتبة من اليسار إلى اليمين في الصفحات العربية.

متى تستخدمه

استخدم InputOTP لرموز التحقق المرسلة عبر الرسائل النصية أو البريد الإلكتروني، ومنها الرموز المكونة من 6 خانات والشائعة في الخدمات السعودية. اضبط length ليطابق طول الرمز، وجمّع الخانات لتسهل قراءتها. واستخدم الوضع المقنّع للأرقام السرية. شغّل التحقق داخل onComplete حتى لا يحتاج المستخدم إلى زر إرسال منفصل.

لكلمات المرور، استخدم TextInput بالنوع password.

أمثلة

رمز التحقق

مجمع

رمز PIN مخفي

تسمية عربية

الخصائص

الخصائص التي يعرفها InputOTP. سمات العنصر الأصلي تمر كما هي.

الخاصيةالنوعالافتراضيالوصف
size"sm" | "md" | "lg"
lengthnumberNumber of slots. Defaults to 6 (Saudi SMS OTP length).
groupSizesnumber[]Optional visual grouping; must sum to length. Default: one group.
valuestringControlled value (the entered characters).
defaultValuestringUncontrolled initial value.
onChange(value: string) => void
onComplete(value: string) => voidFires when all length slots are filled.
patternstringFull-string regex the entered value must match. Defaults to digits-only.
maskbooleanRender dots instead of characters (PIN entry).
separatorreact.ReactNodeOverride the divider rendered between groups.
disabledboolean
autoFocusboolean
namestring
formstringAssociates the input with a <form> by id, like the native form attribute.
requiredboolean
labelreact.ReactNodeVisible field label, auto-associated to the input via htmlFor/id.
helperTextreact.ReactNodeHint shown below the field. Hidden while an error message is showing.
errorMessagereact.ReactNodeMessage shown below the field when invalid.
errorbooleanMarks the field invalid: sets aria-invalid and error styling.

إمكانية الوصول

تمثل كل خانة حقلاً له تسمية، وتحمل المجموعة تسمية الحقل، النص المساعد، ورسالة الخطأ بالربط نفسه المستخدم في TextInput. ينتقل التركيز إلى الخانة التالية تلقائياً أثناء الكتابة، ويعيده Backspace خانة واحدة. ويملأ لصق الرمز كاملاً كل الخانات.

يملأ اللصق والتعبئة التلقائية من الرسائل النصية الخانات كلها. تبقى الأرقام مرتبة من اليسار إلى اليمين داخل الصفحات العربية.