2012-07-02 143 views
0

我需要做的表單驗證,我甚至做了這樣的事情上的驗證情況之一:笨表單驗證過程

if($this->input->post('submitted') =='yes') { // this is hidden field in the form 

if($this->form_validation->run() === TRUE) { 
    $gos['success'] = TRUE; 
    $this->admin_model->update_duela($duel_id); 
} else { 
    $gos['success'] = FALSE; 
} 

} 

,並考慮這樣的:

if($success) { 
     echo "Your post has been submitted!"; 
} else { 
     echo validatoin_errors(); 
} 

驗證錯誤是偉大的,我在驗證失敗時使用它。但是,當驗證通過並且表單成功提交時,我通常會執行上述操作。

而且,我可以考慮直接做這樣的事情:

if($this->form_validation->run() === TRUE) { 
    echo "Your post has been submitted!"; 
} else { 
    echo validation_errors(); 
} 

但要做到這一點,鑑於它不是很好。是嗎?

感謝您的任何建議

回答

4

添加一個變量控制器:

if($this->form_validation->run() === TRUE) { 
    $data['message'] = 'Your post has been submitted!'; 
} else { 
    $data['message'] = validation_errors(); 
} 

$this->load->view('form', $data); 

調用它的觀點:

echo $message; 
+0

謝謝了,不過,你需要做的,如果( isset($ message)){echo $ message; },否則會導致頁面加載時出現錯誤而沒有提交表單 – zarkoz

+0

您不需要檢查'isset',因爲$ message有一個值(if/else)。如果在某些頁面上根本沒有表單驗證,則創建一個類變量'message',並在構造函數中設置'$ this-> message ='';',而不需要檢查'isset'。 –