سؤال

لدي تطبيق Flex 3 مع عرض في ViewStack، ويجب إنشاء هذه الرأي فقط عند الطلب. لقد أعلنت التحقق من الموصلات لكل عنصر من عناصر التحكم في العرض وكنت قد قمت بإنشاء طريقة تسمى ChelchallValid () والتي تقوم بتشغيل Validator.ValidateAll (). يعمل هذا رائعا عند استخدام عناصر التحكم بالفعل (باستخدام الأحداث التغيير أو التركيز)، ولكن كيف يمكنني الحصول على CheleAlValid () ليتم تشغيله عند عرض العرض لأول مرة للمستخدم، بحيث تظهر على الفور ما هو غير صالح مرة واحدة يتم تعبئة البيانات في عناصر التحكم؟

لقد حاولت وضع المكالمة في أحداث مختلفة حول رأي نفسها (مثل Creationcomplete، UpdateComplete، عرض، تنشيط، إلخ) ولكنها تظهر دائما الخطأ التالي عندما أبدأ التطبيق:

"يجب تحديد السمة المصدر عند تحديد سمة الخاصية."

لقد حاولت أيضا تعيين CreationPolicy على طريقة العرض إلى "الكل" ولكن هذا لا يساعد.

يتم تمكين بعض المناقصات فقط عندما يكون النموذج في حالة معينة، لكنني ألغي أنه مشكلة محتملة من خلال التعليق على جميع الموصلات الخاصة بي باستثناء هذا الأكثر بساطة:

<mx:Array id="validators"><mx:StringValidator id="val_Address1" source="{Address1}" property="text" required="true" triggerEvent=""/></mx:Array>

طريقة CheckallValid () بسيطة كما يلي:

private function checkAllValid():void{              
        var validationErrors: Array = Validator.validateAll(validators);        
}

لقد حاولت أيضا استدعاء المصدق واحد بشكل مباشر بدلا من استخدام ValidateAll والنتيجة هي نفسها.

الرجاء المساعدة! يجب أن يكون هناك طريقة يمكنني إجبار الرأي على التحقق من صحة عند إظهارها ....

(بالمناسبة في إطار Cairngorm MVC ولدي بيانات ملزمة بالضوابط)

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

المحلول

فهمتك! أضفت من صحة مماثلة إلى وجهة نظر أخرى وعملوا بشكل جيد. ما هو الفرق؟ تم استدعاء الطريقة التي تسمى chelelallvalid () على حدث creationcomplete في حاوية داخلية - ليس مكون الرأي الرئيسي.

لذلك في النهاية لم يكن الأمر يتعلق بالتحقق من الصحة نفسه - أنا فقط لا أفهم ترتيب الخلق الكامل.

سأترك السؤال هنا في حالة تواجه شخص ما مشكلة مماثلة مع ترتيب الإبداع.

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