2013-01-05 40 views
0

需要帮助就这一个:执行其他功能与数据变量

这里有一个我的示例代码,
我想如果发生的preg_match添加验证消息:
请。见行内注释了解更多详情..

public function supplier_entry() 
{ 
    if (preg_match("/[\'^£@&*...etc.../", $this->input->post('supplier'))) 
    { 

    //add or pass validation message, ex. $msg = 'Invalid Supplier Name'; 
    // i tried $this->supplier_entry_form($msg); but its not working. 

     $this->supplier_entry_form(); 

    }else{ 
     $post_data = array(
     'supplier_name' =>$this->input->post('supplier'), 
     'user' => $this->input->post('user'),  
     'trx_id' =>$this->input->post('trx_id'), 
     ); 

     $this->load->model('user_model'); 
     $this->load->model('product_model'); 

     $this->product_model->add_new_supplier($post_data); 
     $user_data['trx'] = 'Supplier Entry'; 
     $user_data['username'] = $this->user_model->user_info(); 
     $trx_data['supplier'] = $this->product_model->get_supplier_list(); 
     $trx_data['msg'] = 'Supplier Posted.'; 


     $this->load->view('header',$user_data);  
     $this->load->view('item_supplier', $trx_data);    
    } 
} 

在此先感谢..

public function supplier_entry_form() 
{ 
    $this->load->model('user_model'); 
    $this->load->model('product_model'); 

    $user_data['username'] = $this->user_model->user_info(); 
    $user_data['trx'] = 'Supplier Entry'; 
    $trx_data['supplier'] = $this->product_model->get_supplier_list(); 

    $this->load->view('header', $user_data);      
    $this->load->view('item_supplier', $trx_data); 
} 
+0

你能张贴的方法'supplier_entry_form()'的代码? –

+0

使用form_validation和回调函数,它在用户指南中非常清晰地显示出来。你只要让preg匹配它自己的函数,然后在表单验证中调用该函数。 –

回答

1

使用内置的表单验证。

$this->load->library('form_validation'); 
$this->form_validation->set_rules($this->input->post('supplier'), 'Supplier', 'trim|callback_pregMatchSupplier'); 
if($this->form_validation->run()==FALSE) 
{ 
    $this->supplier_entry_from(); 
} 
// continue code here if validation passes. 


function pregMatchSupplier() 
{ 
    if (preg_match("/[\'^£@&*...etc.../", $this->input->post('supplier'))) 
    { 
     return FALSE; 
    } else { 
     return TRUE; 
    } 

然后你回声出验证错误的观点:

<?php echo validation_errors(); ?> 

http://ellislab.com/codeigniter/user-guide/libraries/form_validation.html

+0

谢谢瑞克。欣赏它。 – swordfish