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



مشکل در اعتبارسنجی فرم در صورت قرار دادن فرم در المنت


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

ارسال‌ها: 21
تاریخ عضویت: Aug 2010
رتبه: 0
تشکر: 5
9 بار تشکر شده در 9 پست
ارسال: #1
مشکل در اعتبارسنجی فرم در صورت قرار دادن فرم در المنت
سلام
من به دلیل اینکه بتونم از یک فرم در قسمت های مختلف برنامم استفاده کنم
اون رو داخل یک المنت قرار دادم
برای ثبت اطلاعات فرم اعتبار در بانک داده باید اعتبارسنجی انجام بشه ...
اگر نتیجه اعتبارسنجی درست باشه که مشکلی نیست
اما وقتی نتیجه اشتباهه و باید یکی از فیلدها علامتدار بشه این اتفاق نمی افته
و فرم به صورت عادی ظاهر میشه Sad

ممنون میشم نظرتون رو در این باره اعلام کنین
2010/12/01 01:48 AM
یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
saleh آفلاین
Administrator
*******

ارسال‌ها: 989
تاریخ عضویت: Dec 2009
رتبه: 12
تشکر: 399
870 بار تشکر شده در 560 پست
ارسال: #2
RE: مشکل در اعتبارسنجی فرم در صورت قرار دادن فرم در المنت
لطفا کد کنترلرتون رو که دارید عملیات درج یا آپدیت رو انجام میدید رو اینجا قرار بدید
2010/12/01 02:06 AM
مشاهده سایت کاربر یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
امیر آفلاین
تازه کار
*

ارسال‌ها: 21
تاریخ عضویت: Aug 2010
رتبه: 0
تشکر: 5
9 بار تشکر شده در 9 پست
ارسال: #3
RE: مشکل در اعتبارسنجی فرم در صورت قرار دادن فرم در المنت
این کدی هستش که داخل المنت نوشتم :
کد PHP:
                echo $form->create('Message', array('url' => array('controller' => 'messages''action' =>'send'), 'class'=>'contactForm')); 
                echo 
$form->input('Message.name',array('label'=>'نام')); 
                echo 
$form->input('email',array('label'=>'ایمیل')); 
                echo 
$form->input('Message.website',array('label'=>'وبسایت'));
                echo 
$form->input('Message.subject',array('label'=>'موضوع پیام')); 
                echo 
$form->input('Message.message',array('label'=>'متن پیام''type'=>'textarea')); 
                echo 
$form->end('ارسال پیام'); 

در کنترلر MessagesController تابع زیر تعریف شده :
کد PHP:
    function send(){
        
        if( !empty(
$this->data) ){

            if( 
$this->Message->save($this->data) ){
                
$this->flashSuccess('پیام شما ارسال شد'$this->referer());
            }
            
        }
        
        
$this->flashFail('لطفا تمامی فیلدهای ستاره دار را تکمیل نمایید'$this->referer());
    } 

و این هم کد مربوط به مدل Message :
کد PHP:
class Message extends AppModel{
    var 
$name 'Message';
    
    var 
$validate = array(
        
'name' => array(
            
'notEmpty' => array(
                
'rule' => 'notEmpty',
                
'message' => 'این فیلد نمی تواند خالی باشد'
            
)
        ),
        
'email' => array(
            
'notEmpty' => array(
                
'rule' => 'notEmpty',
                
'message' => 'این فیلد نمی تواند خالی باشد'
            
),
            
'email' => array(
                
'rule' => 'email',
                
'message' => 'ایمیل وارد شده معتبر نمی باشد'
            
)
            
        ),
        
'subject' => array(
            
'notEmpty' => array(
                
'rule' => 'notEmpty',
                
'message' => 'این فیلد نمی تواند خالی باشد'
            
)
        ),
        
'message' => array(
            
'notEmpty' => array(
                
'rule' => 'notEmpty',
                
'message' => 'این فیلد نمی تواند خالی باشد'
            
)
        )
    );
    


در ضمن المنت مورد نظر در صفحاتی قرار میگیره که مربوط به کنترلر و بخش Pages هستش
یعنی این المنت قرار در صفحات سیستم فراخوانی بشه ...
من که گیجم !!!
Huh
(آخرین تغییر در این ارسال: 2010/12/01 04:37 PM توسط امیر.)
2010/12/01 04:35 PM
یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
saleh آفلاین
Administrator
*******

ارسال‌ها: 989
تاریخ عضویت: Dec 2009
رتبه: 12
تشکر: 399
870 بار تشکر شده در 560 پست
ارسال: #4
RE: مشکل در اعتبارسنجی فرم در صورت قرار دادن فرم در المنت
مشکل خیلی جاها میتونه باشه اما اولین چیزی که به ذهنم میرسه
این رو امتحان کنید
کد PHP:
if( $this->Message->save($this->data,true) ){ 
(آخرین تغییر در این ارسال: 2010/12/01 05:35 PM توسط saleh.)
2010/12/01 05:33 PM
مشاهده سایت کاربر یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
ارسال موضوع  ارسال پاسخ 


پرش در انجمن: