Codeigniter: How to build an edit form that uses form validation and re-population?
set_value()
can actually take a second argument for a default value if there is nothing to repopulate (At least looking at CI versions 1.7.1 and 1.7.2). See the following from the Form_validation.php library (line 710):
/** * Get the value from a form * * Permits you to repopulate a form field with the value it was submitted * with, or, if that value doesn't exist, with the default * * @access public * @param string the field name * @param string * @return void */ function set_value($field = '', $default = ''){ if ( ! isset($this->_field_data[$field])) { return $default; } return $this->_field_data[$field]['postdata'];}
So, with that in mind you should be able to simply pass your default value to set_value like this:
<input value="<?php echo set_value('short_desc', $article['short_desc'])?>" type="text" name="short_desc" />
If there is no value to repopulate, set_value()
will default to $article['short_desc']
Hope that helps.