اذهب إلى المحتوى
  • 0

تحديد البيانات المدخلة في TextFormField في flutter

Flutter Dev

السؤال

تحيه طيبه للجميع

لدي استفسار لو تكرمتو

اقوم بستعمال TextFormField لتعبئة الارقام ولكن واجهتني مشكله مع نظام ios حيث ان المستخدم قادر على ادخال الارقام باللغة العربية وانا فقط ارغب ان يستقبل  الحقل الارقام الانجليزية . في نظام ال ios  يمكن للمستخدم تغيير الكيبورد من اسفل الكيبورد من انجليزي الى عربي والعكس ايضا.

هل يوجد حل لجعل المستخدم فقط يقوم بادخال الارقام الانجليزية في الحقل؟

مع العلم انني قمت بتجربة :

  keyboardType: TextInputType.number,

 

 inputFormatters: <TextInputFormatter>[
    FilteringTextInputFormatter.digitsOnly
], 

ولكن الكل يمنح المستخدم امكانية تغير الارقام من الانجليزية الى العربية 

هل يوجد حل مختلف لمنع المستخدم من ادخال الارقام العربية ؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

سنحاول تحديد المحارف الممكنة من خلال التعابير المنتظمة حسب مجال المحارف الانكليزية للأرقام.. حيث نمرر RegExp والتي هي اختصار ل regular expression من خلال الدالة allow

TextField(
 inputFormatters: <TextInputFormatter>[
      FilteringTextInputFormatter.allow(RegExp("[0-9]")),
  ], // Only numbers can be entered
),

أما مثلا حروف وأرقام انكليزية يمكن التالي:

FilteringTextInputFormatter.allow(RegExp("[0-9a-zA-Z]")),

وإن أردت السماح بافراغات فقط أضف فراغ 

"[a-zA-Z ]"
       ^^^

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 1
بتاريخ 8 دقائق مضت قال مروان مروان3:

كل الشكر لك اخي الطريقة فعالة

هل يمكن عن طريقها دمج الاحرف العربية+ الارقام الانجليزية بحيث نستبعد الارقام العربية؟

ايضا هل يمكن ان نضع لها تنبيه او مسج مثلا غير مسموح استعمل هذا الارقام؟

نعم يمكن تحديد المجالات التي تريدها، اكتب مثلا اسم اللغة ثم unicode أي arabic unicode في البحث سيظهر لك جدول مجالات اللغة في نظام الترميز وأنت تضمن ما تريده:

"[a-zA-Z0-9\u0600-\u065F]"

استخدم نفس الفكرة، بداية المجال ثم - ثم نهاية المجال، لمعرفة المحارف بالضبط بدل المحرف x في العمود الأيسر مع الترقيم في أعلى الجدول.. 

0 أول حرف في السطر، ثم F الأخير ويمكن وضع أي منهم 012345ِ789ABCDEF ... 

arabic-unicode.PNG

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 20 دقائق مضت قال Wael Aljamal:

سنحاول تحديد المحارف الممكنة من خلال التعابير المنتظمة حسب مجال المحارف الانكليزية للأرقام.. حيث نمرر RegExp والتي هي اختصار ل regular expression من خلال الدالة allow


TextField(
 inputFormatters: <TextInputFormatter>[
      FilteringTextInputFormatter.allow(RegExp("[0-9]")),
  ], // Only numbers can be entered
),

أما مثلا حروف وأرقام انكليزية يمكن التالي:


FilteringTextInputFormatter.allow(RegExp("[0-9a-zA-Z]")),

وإن أردت السماح بافراغات فقط أضف فراغ 


"[a-zA-Z ]"
       ^^^

 

كل الشكر لك اخي الطريقة فعالة

هل يمكن عن طريقها دمج الاحرف العربية+ الارقام الانجليزية بحيث نستبعد الارقام العربية؟

ايضا هل يمكن ان نضع لها تنبيه او مسج مثلا غير مسموح استعمل هذا الارقام؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...