0
I have a form that after the validation using form_validation, I would like that if errors occurred, that when showing the view, return to the value I previously selected in form_dropdown, as well as with set_value when it is a form_input.
I didn’t find anything about it and I need to say, follow my codes below:
view (which has form_dropdown):
echo '<div class="form-group">';
echo form_label('Tipo de Produto: *', 'tipoproduto');
echo form_dropdown('tipoproduto', $options_tipovinhos, null, array('class' => "form-control"));
echo '<div class="invalid-feedback">Por favor, preencha esse campo.</div>';
echo '</div>';
control (which has the validation):
public function cadastrar(){
$this->load->library('form_validation');
//regras de validação
$this->form_validation->set_rules('tipoproduto', 'Tipo de Produto', 'trim|required|max_length[50]|min_length[1]');
//teste de validação campos
if($this->form_validation->run() == FALSE):
$dados = [
'titulo' => 'Cadastro de Produtos - WineApp',
'formerror' => validation_errors(),
'fotoerror' => null,
'options_paises' => $this->ProdutosF_model->selectPais(),
'options_tipovinhos' => $this->ProdutosF_model->selectTipodeProdutos()
];
$this->template->show("cadastroprodutos.php", $dados);
model: (where I build the options you have in form_dropdown, not to put a lot of foreach code in the view and reuse this function)
//pega todos tipos de vinho
public function getTipoVinho(){
return $this->db->order_by('nome_TipoProduto')->get('tb_TipoProduto');
}
//cria um select com todos tipos de produtos
public function selectTipodeProdutos(){
$produtos = null;
$tipodeprodutos = $this->getTipoVinho();
foreach($tipodeprodutos -> result() as $tipodeproduto){
$produtos .= "<option value='{$tipodeproduto->nome_TipoProduto}'>{$tipodeproduto->nome_TipoProduto}</option>";
}
return $produtos;
}
My question is if it is possible to use something like a set_value in form_dropdown, taking into account that I am populating it in this way that I showed with the above codes.
Opa Kayo, beauty? So man, that way was not, that’s why I do not understand. I read the documentation and understood that it was that way. Can it be because I’m assembling the options elsewhere than in the view? I’ve assembled in the model pq I use this form_dropdown on several screens
– Felipe Augusto