عدم نمایش المان ها در Cform

[rtl]

با سلام.

بنده یک فرم را که مدلش CFormModel است را برای آپلود فایل طبق file-uploads-in-cform-form-builder درست کردم. ولی در نتیجه فقط تگ فرم را به همراه دکمه نمایش میده و از امان ها خبری نیست؟ نمی فهمم مشکلش کجاست؟

این هم کدش:[/rtl]




return array(

    'title' => 'Upload your image',


    'attributes' => array(

        'enctype' => 'multipart/form-data',

    ),


    'elements' => array(

        'pdfFile' => array('type' => 'file'),

    ),


    'buttons' => array(

        'reset' => array(

            'type' => 'reset',

            'label' => 'Reset',

        ),

        'submit' => array(

            'type' => 'submit',

            'label' => 'Upload',

        ),

    ),

); 



[font="Tahoma"][rtl]سلام برادر شما ظاهرا همین مشکل رو تو همین صفحه که reference دادی پرسیدی و جواب هم دادند و تشکر کردی.

مشکل از تعریف rule نبوده یعنی؟

[/rtl][/font]

[rtl]نه برادر. اگر به تاریخ ارسال کامنت ها دقت کنید می بینید که آخرین کامنت متعلق به بنده است و کسی هنوزجوابی نداده.

منظورتون از تعریف rule چیه؟ rule خاصی مد نظرتون است. بنده دقیقا همان چیزی را که در آن لینک گفته قرار داده هم. برای طلاع بیشتر این هم rule ام:[/rtl]




public $pdfFile;


	public function rules(){

    	return array(

        	array('pdfFile', 'file','types'=>'pdf', 'allowEmpty'=>true, 'on'=>'update'),

    	);

	}



[rtl][font="Tahoma"]

اولا حق با شما بود من فکر کردم کامنت زیرین بعد از شماست ولی خوب ترتیب نمایش فرق داره

اما کامنت زیرین مطلب دقیقا reference شده به یه سوال تو stackoverflow که دقیقا مشکل شماست و اونجا از safe استفاده کرده برای رفع این مشکل

[/font][/rtl]




array('image', 'file', 'allowEmpty' => true, 'safe'=>true, 'types' => 'jpg, jpeg, gif, png')



The reason this problem arises is the CForm renders only "safe" model attributes.

"CFileValidator" is unsafe by default.

To solve the problem file validator inside the model should be explicitely turned to be "safe":


array('myfile', 'file', 'safe'=>true);

[rtl]ممنون اصلا به اون قسمت جوابش برنحورده بودم. دقیقا همون بود، مشکل حل شد.[/rtl]