Codeschnipsel - CodeIgniter - Form Validation - set_value_array
Wer bei der Form Validation "Arrays" als Feldnamen nutzt und diese als komplettes Array wieder erhalten möchte, bei dem tritt das Problem auf, dass nur das erste Element des Arrays zurückgegeben wird.
Um das komplette Array zu erhalten, müsst ihr die CI_Form_validation Klasse erweitern.
Datei application/libraries/MY_Form_validation.php
Code:<?php class MY_Form_validation extends CI_Form_validation { /** * 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 array */ function set_value_array($field = '', $default = '') { if ( ! isset($this->_field_data[$field])) { return $default; } return $this->_field_data[$field]['postdata']; } } ?>
Nun erhaltet Ihr mit dem folgenden Aufruf das komplette Array validiert zurück:
Code:$this->form_validation->set_value_array('feldname[]')