2013-02-01 64 views
1

所以我读了user guide for form validation,它显示了如何设置自定义消息。例如,如果我把这个在我的代码CodeIgniter在消息中设置错误消息的值为

$this->form_validation->set_message('is_unique', '%s address already registered.'); 

它将输出E-mail address already registered.(如果是验证电子邮件字段)

我想要做的是有一个消息,会说E-mail address [email protected] already registered.是否有代码来显示正在传递的字段的值? (如%S,表示字段名称)

+0

你是从邮局得到的电子邮件地址? – user20232359723568423357842364

+0

它是一个表格,通过控制器进行验证并相应地调用函数。 – Grigor

回答

1
$this->form_validation->set_message('is_unique', '%s address ' . $this->input->post('email', true) . ' already registered.'); 

开箱,它只平移字段名称sprintf,而非字段

$message = sprintf($line, $this->_translate_fieldname($row['label']), $param); 

只需延伸CI_Form_validationMY_Form_validation并解析字符串以适合您的需求。

+0

然而,这会起作用,有没有办法做到类似于%s的事情?例如,而不是'$ this-> input-> post('email');'put'%v'? – Grigor

+0

'%s'是一个'printf'格式说明符,不是一个可变的替换... – keithhatfield