نقطه ویرگول;

هر از گاهی از هر چیزی

هر از گاهی از هر چیزی

خیلی وقت‌ها برای ما پیش می‌آید که بخواهیم اطلاعات یک فرم مربوط به یک model را در view مربوط به model دیگری اعتبار‌سنجی کنیم . به‌طور مثال در حال نمایش یک مطلب ( Post model ) می‌خواهیم فرم ارسال نظر برای مطلب را قرار دهیم و روی این فرم عملیات اعتبار‌سنجی انجام دهیم .
در این حالت view مربوط به Post است ولی فرمی که قرار است ارسال شود به مدل Comment ارسال می‌شود !
اگر فرم را به صورت زیر بنویسیم چه اتفاقی خواهد افتاد ؟

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

نظرات  (۳)

ممنون
پست خوبی بود
منتظر بیشتر از اینها هم هستیم
:))
عالی بود
ممنون، استفاده کردم. تشکر

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی