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