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

StackOverflow https://stackoverflow.com/questions/807820

  •  03-07-2019
  •  | 
  •  

سؤال

لدي عنصر تحكم مخصص يحتوي على حقول نصية متعددة ومربع اختيار موجود بداخله.

إذا تم تحديد خانة الاختيار، وقام المستخدم بإرسال النموذج، فسأحتاج إلى السماح له بالمتابعة إذا كانت مربعات النص فارغة (وتم تحديد خانة الاختيار).

لا بد لي من تنفيذ هذا دون جافا سكريبت.

المشكلة هي أنه في حدث OnInit لعنصر التحكم المخصص، حيث أقوم بتوصيل مربعات النص وأدوات التحقق الخاصة بها، لا يمكنني الوصول إلى قيمة مربع الاختيار.


لقد كنت أحاول تجاوز المعرف الفريد لمربع الاختيار بحيث يمكنني في حدث OnInit الخاص بعناصر التحكم المخصصة تعطيل مدققي الحقول المطلوبين إذا كان this.Context.Request.Form["CheckboxId"] = "On"، ولكن بمجرد تجاوز توقف المعرف الفريد لحالة عرض مربع الاختيار عن العمل.

الشيء الآخر الذي فكرت فيه هو وجود مدقق حقل مطلوب مخصص يأخذ مربع الاختيار في المُنشئ ويتم تعطيله إذا كانت القيمة خاطئة.

هل كانت مفيدة؟

المحلول

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

كملاحظة جانبية، إذا كنت تريد تعطيل التحقق من الصحة، فليس من الضروري بالضرورة تعطيل الكل المدقق ضوابط.بدلا من ذلك يمكنك ببساطة تعيين Button.CausesValidation الملكية ل خطأ شنيع على الزر الذي سيرسل النموذج.

تحديث:
يبدو أنك تقوم ببناء تحكم المستخدم, ، وهو عنصر تحكم معقد يتكون من مجموعة من عناصر التحكم البسيطة التي تعمل معًا كوحدة واحدة.
إذا كنت تريد القيام بذلك بالكامل في التعليمات البرمجية، كما تفعل مع ملف التحكم المخصص, ، يجب أن ترث من التحكم المركب فصل.وهذا يمنحك أفضل ما في العالمين.يتم بعد ذلك إجراء تهيئة عناصر التحكم التابعة عن طريق تجاوز إنشاء عناصر تحكم الطفل طريقة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top