کیک پی اچ پی »» اعتبار سنجی فرم در مدلی دیگر
شنبه, ۲۷ آذر ۱۳۸۹، ۰۳:۲۷ ب.ظ
خیلی وقتها برای ما پیش میآید که بخواهیم اطلاعات یک فرم مربوط به یک model را در view مربوط به model دیگری اعتبارسنجی کنیم . بهطور مثال در حال نمایش یک مطلب ( Post model ) میخواهیم فرم ارسال نظر برای مطلب را قرار دهیم و روی این فرم عملیات اعتبارسنجی انجام دهیم .
در این حالت view مربوط به Post است ولی فرمی که قرار است ارسال شود به مدل Comment ارسال میشود !
اگر فرم را به صورت زیر بنویسیم چه اتفاقی خواهد افتاد ؟
و اما چاره چیست ؟
اگر ما بخواهیم سلول مربوط به متن نظر را اجباری کنیم باید به این صورت عمل کنیم :
امیدوارم این مطلب برای شما مفید واقع شود .
موفق باشید .
در این حالت view مربوط به Post است ولی فرمی که قرار است ارسال شود به مدل Comment ارسال میشود !
اگر فرم را به صورت زیر بنویسیم چه اتفاقی خواهد افتاد ؟
echo $form->create('Comment');چون view متعلق به Post این فرم ارسال می شود ، ولی پاسخ اعتبار سنجی برای view مربوط به Comment برمیگردد لذا پیامهای اعتبارسنجی نمودی نخواهد داشت !
echo $form->input('name');
echo $form->input('email');
echo $form->input('url');
echo $form->input('body');
echo $form->end('Send comment');
?>
و اما چاره چیست ؟
اگر ما بخواهیم سلول مربوط به متن نظر را اجباری کنیم باید به این صورت عمل کنیم :
echo $form->input(‘Comment.body’, array(‘div’ => array(‘class’ => ‘input text required’),’error’ => ‘پر کردن این فیلد ضروریست’));البته این صرفا جهت نمایش پیغام های اعتبارسنجیست و برای اعتبار سنجی حقیقی در لایهی Model باید validate مورد نظر را بنویسید !
امیدوارم این مطلب برای شما مفید واقع شود .
موفق باشید .
۸۹/۰۹/۲۷
پست خوبی بود
منتظر بیشتر از اینها هم هستیم
:))