2017-08-18 45 views
0

美好的一天!Codeigniter:包含來自驗證錯誤消息的實際輸入值

快速新手問題。

我從控制器此驗證:

$this->form_validation->set_rules("item_name", "Item Name", "trim|xss_clean|max_length[100]|required|is_unique[tbl_item.item_name]"); 
// UPDATE: as suggested by Asad Khan and NARGIS PARWEEN, 
// I changed this: 
// $this->form_validation->set_message("is_unique", "This %s already exists."); 
// into this: 
$this->form_validation->set_message("is_unique", "This {field} already exists."); 

// prints "This Item Code already exists" when validation fails. 

問:我如何更換'%s'到實際input value?結果會像「ITEM-01已經存在。

在此先感謝!

回答

4

您可以在郵件中附加您的字段值。試試這個:

$this->form_validation->set_message("is_unique", $this->input->post('item_name')." already exists."); 
+0

它單獨打印item_name先生。 // ITEM-01 – Jorz

+1

我的不好..我沒有認識到這段時間('item_name')。我把「,」改爲。謝謝你,先生!我從來沒有想過這很容易! – Jorz

+0

第一個適用於我。再次感謝你! – Jorz

2

你可以用它喜歡:

$this->form_validation->set_message("is_unique", "This {field} already exists."); 

嘗試用此查詢,它將運行絕對

+1

謝謝先生!指出。將更新我的代碼。 – Jorz

+0

永遠歡迎.. –

2

{}場是較新的方法。 Jors因爲你是使用舊spritf方法,你必須首先爲現場的人的名字在set_rules這樣

$this->form_validation->set_rules(array('field' => 'name','label' => 'Full Name','rules' => 'required')); 

然後,格式說明符%s將自動挑set_rules定義的人的名字

$this->form_validation->set_message('required', '%s Must be fill!'); 
+0

謝謝先生!指出。將更新我的代碼。 {field}更容易 – Jorz

+0

yup!確實如此.. –