Кажется, что функция edit_unique
, которая описана здесь – Проверка уникальности в CodeIgniter при обновлении записи , убивает функцию set_value
.
Все работает отлично, что-то вроде этого …
echo form_input('username', set_value('username',$user->username));
Но при использовании проверки edit_unique
значение пуст после отправки формы. Post-Variables в порядке, а также проверка не имеет ошибок, но значение не задано.
Любая идея, как я могу это исправить?
Хорошо – нашел это сам. Не было возвратной стоимости в случае, если это правда. Возможно, кто-то сталкивается с той же проблемой … с этой функцией она работает:
function edit_unique($value, $params) { $CI =& get_instance(); $CI->load->database(); $CI->form_validation->set_message('edit_unique', "Sorry, that %s is already being used."); list($table, $field, $current_id) = explode(".", $params); $query = $CI->db->select()->from($table)->where($field, $value)->limit(1)->get(); if ($query->row() && $query->row()->id != $current_id) { return FALSE; } else { return TRUE; } }