Codeigniter:包含验证错误消息的实际输入值

时间:2017-08-18 06:51:48

标签: php 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已经存在。"

先谢谢你们!

3 个答案:

答案 0 :(得分:4)

您可以在邮件中附加字段值。试试这个:

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

答案 1 :(得分:2)

您可以像以下一样使用它:

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

尝试使用此查询,它肯定会运行

答案 2 :(得分:2)

{field}是更新的方法。 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!');