زمان جاری: 2012/05/25, 03:15 AM خوش آمدید مهمان گرامی! (ورودعضویت)



اعتبار سنجی مدل A در ویوی کنترولر B


ارسال موضوع  ارسال پاسخ 
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
رتبه موضوع:
 
اعتبار سنجی مدل A در ویوی کنترولر B
نویسنده پیام
chalist آفلاین
تازه کار
*

ارسال‌ها: 48
تاریخ عضویت: Jan 2010
رتبه: 0
تشکر: 51
14 بار تشکر شده در 15 پست
ارسال: #1
اعتبار سنجی مدل A در ویوی کنترولر B
من سه تا جدول دارم:
فیلم
صدا
عکس

حالا برای هر پست این جداول می خوام قابلیت ارسال کامنت داشته باشم

کاری که کردم این بود که اومدم توی فایل app_helper یه متد ساختم به نام addComment با محتوای زیر:
کد PHP:
    function addComment($table$id
    {
        
        echo 
$this->Form->create('Comment', array('controller' => 'comments''action' => 'addComment'));
        
        echo 
$this->Form->input('author_name', array('label' => 'نام''length'=> '20' ));
        echo 
$this->Form->input('author_email', array('label' => 'ایمیل''length'=> '30' ));
        echo 
$this->Form->input('author_url', array('label' => 'نشانی اینترنتی''length'=> '20' ));
        echo 
$this->Form->input('content', array('label' => 'دیدگاه شما:''type'=> 'textarea' ));
        echo 
$this->Form->input('table', array('value' => $table'type' => 'hidden'));
        echo 
$this->Form->input('row_id', array('value' => $id'type' => 'hidden'));
        echo 
$this->Form->input('new', array('value' => true'type' => 'hidden'));
        echo 
$this->Form->input('time', array('value' => time(), 'type' => 'hidden'));
        echo 
$this->Form->end('ارسال');
    } 

و داخل هر ویو که بخوام استفاده کنم به این صورت عمل می کنم:
کد PHP:
<?php echo $html->addComment('controller_name' ,'row_id'); ?>

مشکلی از لحاظ اجرا ندارم به جز اینکه فیلد content پر کردنش اجباری هستش و ولیدیشن notEmpty. اما خطای مربوطه رو نشون نمی ده و فقط می نویسه که : دیدگاه ذخیره نشد. دوباره تلاش کنید.

چی کار کنم خطا نشون داده بشه؟؟؟

ولیدیشن هم به این صورته:
کد PHP:
    var $validate = array(
        
'content' => array(
            
'notEmpty' => array(
                
'rule' => array('notEmpty'),
                
'message' => 'نوشتن دیدگاه الزامی است',
            )
        )


ممنون از راهنماییتون

ز باغ پیرهنت چون دریچه ها وا شد - بهشت گمشده پشت دریچه پیدا شد
رها ز سلطه ی پاییز، در بهار اتاق - گلی به نام تو در بازوان من وا شد
به دیدن تو همه ذره های من شد چشم - و چشم ها همه سر تا به پا تماشا شد
شتاب خواستنت این چنین که می بالد - به دیدن تو مگر می توان شکیبا شد
پدرغزل معاصر ایران - حسین منزوی
2010/10/03 05:55 PM
یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
saleh آفلاین
Administrator
*******

ارسال‌ها: 989
تاریخ عضویت: Dec 2009
رتبه: 12
تشکر: 399
871 بار تشکر شده در 560 پست
ارسال: #2
RE: اعتبار سنجی مدل A در ویوی کنترولر B
محمد عزیز خوشحالم که راه درست رو پیدا کردی و داری اصولی ادامه میدی.

در پاسخ به سوالتون باید بگم که سوال شما مربوط میشه به اعتبار سنجی در مودال های habtm که در این حالت اگر میخواهید در فرم هایتون فیلدی از مودال B استفاده کنید. باید در قسمت نام فیلد اسم مودال رو هم ذکر کنید. به این صورت.
کد PHP:
echo $this->Form->input('Comment.content', array('label' => 'دیدگاه شما:''type'=> 'textarea' )); 

درکل بهتره که این مورد رو در همه جا به کار بگیرید که در تموم فرم ها همیشه ار فرمت Modalname.fieldname استفاده کنید. در این حالت کیک پردازش کمتری انجام میده
2010/10/03 08:52 PM
مشاهده سایت کاربر یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
chalist آفلاین
تازه کار
*

ارسال‌ها: 48
تاریخ عضویت: Jan 2010
رتبه: 0
تشکر: 51
14 بار تشکر شده در 15 پست
ارسال: #3
RE: اعتبار سنجی مدل A در ویوی کنترولر B
مشکل اینه که ولیدیشن کار می کنه و کامنت ذخیره نمی شه ولی خطای ولیدیشن نمایش داده نمی شه
یعنی باید زیرش بنویسه که ؛نوشتن این بخش الزامی ست؛
اما نمایش نمی ده

ز باغ پیرهنت چون دریچه ها وا شد - بهشت گمشده پشت دریچه پیدا شد
رها ز سلطه ی پاییز، در بهار اتاق - گلی به نام تو در بازوان من وا شد
به دیدن تو همه ذره های من شد چشم - و چشم ها همه سر تا به پا تماشا شد
شتاب خواستنت این چنین که می بالد - به دیدن تو مگر می توان شکیبا شد
پدرغزل معاصر ایران - حسین منزوی
2010/10/12 02:17 PM
یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
saleh آفلاین
Administrator
*******

ارسال‌ها: 989
تاریخ عضویت: Dec 2009
رتبه: 12
تشکر: 399
871 بار تشکر شده در 560 پست
ارسال: #4
RE: اعتبار سنجی مدل A در ویوی کنترولر B
لطفا کدی که برای ذخیره سازی استفاده می کنید رو اینجا قرار دهید
2010/10/12 06:20 PM
مشاهده سایت کاربر یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
chalist آفلاین
تازه کار
*

ارسال‌ها: 48
تاریخ عضویت: Jan 2010
رتبه: 0
تشکر: 51
14 بار تشکر شده در 15 پست
ارسال: #5
RE: اعتبار سنجی مدل A در ویوی کنترولر B
کد PHP:
function addComment()
    {
        if(!empty(
$this->data))
        {
            
$this->Comment->create();
            if(
$this->Comment->save($this->data))
            {
                
$this->Session->setFlash('saved');
                
$this->remsg('comment saved.''../'.$this->data['Comment']['table'].'/id/'.$this->data['Comment']['row_id']);
            }else{                
                
$this->remsg('comment not saved. try again.', array('controller'=>$this->data['Comment']['table'], 'action'=>'id'$this->data['Comment']['row_id']));//'../'.$this->data['Comment']['table'].'/id/'.$this->data['Comment']['row_id']);
            
}
        }
        
$this->remsg('comment not saved. try again2.''../'.$this->data['Comment']['table'].'/id/'.$this->data['Comment']['row_id']);
    } 

ز باغ پیرهنت چون دریچه ها وا شد - بهشت گمشده پشت دریچه پیدا شد
رها ز سلطه ی پاییز، در بهار اتاق - گلی به نام تو در بازوان من وا شد
به دیدن تو همه ذره های من شد چشم - و چشم ها همه سر تا به پا تماشا شد
شتاب خواستنت این چنین که می بالد - به دیدن تو مگر می توان شکیبا شد
پدرغزل معاصر ایران - حسین منزوی
(آخرین تغییر در این ارسال: 2010/10/13 04:32 PM توسط chalist.)
2010/10/13 04:31 PM
یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
saleh آفلاین
Administrator
*******

ارسال‌ها: 989
تاریخ عضویت: Dec 2009
رتبه: 12
تشکر: 399
871 بار تشکر شده در 560 پست
ارسال: #6
RE: اعتبار سنجی مدل A در ویوی کنترولر B
حالا شما این رو امنتحان کنید
کد PHP:
if($this->Comment->save($this->data,true)) 
2010/10/13 07:06 PM
مشاهده سایت کاربر یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
chalist آفلاین
تازه کار
*

ارسال‌ها: 48
تاریخ عضویت: Jan 2010
رتبه: 0
تشکر: 51
14 بار تشکر شده در 15 پست
ارسال: #7
RE: اعتبار سنجی مدل A در ویوی کنترولر B
نه صالح جان کار نکرد
باز هم خطا نداد

ز باغ پیرهنت چون دریچه ها وا شد - بهشت گمشده پشت دریچه پیدا شد
رها ز سلطه ی پاییز، در بهار اتاق - گلی به نام تو در بازوان من وا شد
به دیدن تو همه ذره های من شد چشم - و چشم ها همه سر تا به پا تماشا شد
شتاب خواستنت این چنین که می بالد - به دیدن تو مگر می توان شکیبا شد
پدرغزل معاصر ایران - حسین منزوی
2010/10/17 02:08 PM
یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
cybercoder غایب
Expired
**

ارسال‌ها: 113
تاریخ عضویت: Dec 2009
رتبه: 1
تشکر: 51
84 بار تشکر شده در 47 پست
ارسال: #8
RE: اعتبار سنجی مدل A در ویوی کنترولر B
حالا یه نکته ای اگر Validation رو برداری ذخیره میشه تو جدول؟
2010/10/17 04:41 PM
یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
parsig آفلاین
Super Moderator
******

ارسال‌ها: 323
تاریخ عضویت: Jan 2010
رتبه: 6
تشکر: 131
357 بار تشکر شده در 179 پست
ارسال: #9
RE: اعتبار سنجی مدل A در ویوی کنترولر B
بلاخره جواب این تاپیک رو یافتم !
اینپوت ها رو این شکلی بنویس :
کد PHP:
echo $form->input('Comment.content', array('div' => array('class' => 'input text required'),'error' => 'این فیلد نباید خالی باشد')); 

[تصویر: ubuntu2_userbar.gif]
یک برنامه نویس
آنکه مست آمد و دستی به دل ما زد رفت ... در این خانه ندانم به چه سودا زد و رفت
2010/12/18 03:44 AM
مشاهده سایت کاربر یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
Alir3z4 آفلاین
تازه کار
*

ارسال‌ها: 26
تاریخ عضویت: Nov 2010
رتبه: 1
تشکر: 1
4 بار تشکر شده در 14 پست
ارسال: #10
RE: اعتبار سنجی مدل A در ویوی کنترولر B
يه سوال دوستان
چرا به جاي Helper از Element استفاده نشد؟Huh
2010/12/18 04:36 AM
یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
parsig آفلاین
Super Moderator
******

ارسال‌ها: 323
تاریخ عضویت: Jan 2010
رتبه: 6
تشکر: 131
357 بار تشکر شده در 179 پست
ارسال: #11
RE: اعتبار سنجی مدل A در ویوی کنترولر B
هلپر و المنت چه ربطی به هم دارن !؟
هلپر یه وظیفه‌ای داره المنت یه وظیفه‌ای !
سوال‌تون رو واضح‌تر بپرسید

[تصویر: ubuntu2_userbar.gif]
یک برنامه نویس
آنکه مست آمد و دستی به دل ما زد رفت ... در این خانه ندانم به چه سودا زد و رفت
2010/12/18 04:59 AM
مشاهده سایت کاربر یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
ارسال موضوع  ارسال پاسخ 


پرش در انجمن: