This way it doesn't work
VIEW
<?=form_input('data_form[usuario]', '', 'class="form-control form-control-sm" placeholder="Usuario"');?>
<?=form_password('data_form[password]', '', 'class="form-control form-control-sm" placeholder="Contraseña"');?>
<?=form_dropdown('data_form[id_sucursal]', $opt_sucursal, '', 'class="form-control form-control-sm" placeholder="Sucursal"');?>
CONTROLLER
$this->validation->setRule('data_form[usuario]', 'Usuario', 'trim|required');
$this->validation->setRule('data_form[password]', 'Contraseña', 'trim|required');
$this->validation->setRule('data_form[id_sucursal]', 'Sucursal', 'trim|required');
if(! $this->validation->withRequest($this->request)->run()){
This is how it works
VIEW
<?=form_input('usuario', '', 'class="form-control form-control-sm" placeholder="Usuario"');?>
<?=form_password('password', '', 'class="form-control form-control-sm" placeholder="Contraseña"');?>
<?=form_dropdown('id_sucursal', $opt_sucursal, '', 'class="form-control form-control-sm" placeholder="Sucursal"');?>
CONTROLLER
$this->validation->setRule('usuario', 'Usuario', 'trim|required');
$this->validation->setRule('password', 'Contraseña', 'trim|required');
$this->validation->setRule('id_sucursal', 'Sucursal', 'trim|required');
if(! $this->validation->withRequest($this->request)->run()){