کیک پی اچ پی »» اعتبار سنجی فرم در مدلی دیگر

۱۳۸۹/۰۹/۲۷

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

در این حالت view مربوط به Post است ولی فرمی که قرار است ارسال شود به مدل Comment ارسال می‌شود !

اگر فرم را به صورت زیر بنویسیم چه اتفاقی خواهد افتاد ؟

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 مورد نظر را بنویسید !

امیدوارم این مطلب برای شما مفید واقع شود .

موفق باشید .

3 دیدگاه در “کیک پی اچ پی »» اعتبار سنجی فرم در مدلی دیگر

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

شما می‌توانید از این دستورات HTML استفاده کنید: