hi this is my method :
Code:
public function aggiungiDaProdotto($id_ddt){
$data=[];
$ddt_righe_inserite_model = new ddt_righe_inseriteModel();
$ddt_model = new ddtModel();
$prodotti_model = new ProdottiModel();
$data['ddt'] = $ddt_model->find($id_ddt);
if (($this->request->getMethod() === 'post')){
$validation = \Config\Services::validation();
$rules=
[
'id_prodotti'=>[
'label'=>'Id prodotti',
'rules'=>'required|max_length[10]',
'errors'=>[
'required'=>'{field} obbligatorio',
'max_length'=>'Lunghezza massima {field} {param} caratteri'
]
],
'quantita'=>[
'label'=>'Quantita',
'rules'=>'required|max_length[10]',
'errors'=>[
'required'=>'{field} obbligatorio',
'max_length'=>'Lunghezza massima {field} {param} caratteri'
]
],
];
if($this->validate($rules)){
$post = $this->request->getPost();
$res=$ddt_righe_inserite_model->save($post);
if($res) {
session()->setFlashdata('gestisciRecordOK', 'Inserimento correttamente effettuato');
return redirect()->to('/user_ddt_righe_inserite/lista_completa/');
}else{
session()->setFlashdata('gestisciRecordBad', 'Problemi Inserimento Record');
return redirect()->to('/user_ddt_righe_inserite/lista_completa/');
}
}else{
//$data['validation'] = $validation;
return redirect()->to('user_ddt_righe_inserite/aggiungiManualmente/'.$id_ddt)->withInput();
}
}
if (!isset($data['messaggi_errore']) AND !isset($data['messaggi_ok'])) {
echo view('empty_view',$data);
echo view('user/ddt_righe_inserite/aggiungiDaProdotto');
}
}
and this is my first view (aggiungiManualmente) :
Code:
<?= $this->extend('templates/layout_admin') ?>
<?= $this->section('custom_css') ?>
<link rel="stylesheet" href=" <?=base_url('/assets/vendors/select2/select2.min.css') ?>">
<link rel="stylesheet" href="<?=base_url('/assets/vendors/select2-bootstrap-theme/select2-bootstrap.min.css') ?>">
<?= $this->endSection() ?>
<?= $this->section('content') ?>
<div class="card">
<div class="card-header">
<h4> Aggiungi righe a Doa <?= $doa->numero ?> </h4>
</div>
<div class="card-body">
<hr>
<div class="row">
<div class="col-md-6">
<h3 class="mb-4">Aggiungi Da prodotto</h3>
<?php
$attributes = array('class' => 'col-md-12 myform',
'id' => 'myform',
'name' => 'form_doa_righe_inserite',
'method' => 'POST',
'onSubmit' => 'return controlla_e_invia();'
);
echo form_open (base_url() .'/user_Ddt_righe_inserite/aggiungiDaProdotto/'.$ddt->id,$attributes);
?>
<?php if(!empty($validation) ) :?>
<div class="alert alert-danger border-0 bg-danger fade show py-2">
<div class="d-flex align-items-center">
<div class="font-35 text-white"><i class="bx bxs-message-square-x"></i>
</div>
<div class="ms-3">
<div class="text-white"> <?= $validation->listErrors(); ?></div>
</div>
</div>
</div>
<?php endif; ?>
<!-- INIZIO id_prodotti -->
<div class='row '>
<div class='col-md-12'>
<div class="form-group">
<label class='col-md-12 col-xs-12 control-label'>Prodotto</label>
<div class='col-md-12 col-xs-12'>
<select id='id_id_prodotti' class='form-select' name='id_prodotti'>
<option value=''>Seleziona un valore...</option>
<?php foreach ($tutti_id_prodotti as $v) :?>
<option value='<?=$v->id ?>'
<?php if($v->id==set_value('id_prodotti') ): ?>
selected='selected'
<?php endif ?>
>
<?=$v->codice_articolo.' '.$v->descrizione ?>
</option>
<?php endforeach ?>
</select>
</div>
</div>
</div>
</div>
<!-- FNE id_prodotti -->
<span>note: * campi obbligatori</span>
<div class='text-right'>
<a href='<?= base_url() ?>' class='btn btn-danger'>Annulla</a>
<button class='btn btn-info submit-btn' type='submit' onclick=''>
<span class='indicator-label'>
INSERISCI
</span>
<span class='indicator-progress'>
Perfavore attendi... <span
class='spinner-border spinner-border-sm align-middle ms-2'></span>
</span>
</button> </div>
<br>
</form>
</div>
<div class="col-md-6">
<h3>Aggiungi da Ean</h3>
<?php
$attributes = array('class' => 'col-md-12 myform',
'id' => 'myform',
'name' => 'form_doa_righe_inserite',
'method' => 'POST',
'onSubmit' => 'return controlla_e_invia();'
);
echo form_open (base_url() .'/user_Ddt_righe_inserite/aggiungiDaEan/'.$ddt->id,$attributes);
?>
<?php if(!empty($validation) ) :?>
<div class="alert alert-danger border-0 bg-danger fade show py-2">
<div class="d-flex align-items-center">
<div class="font-35 text-white"><i class="bx bxs-message-square-x"></i>
</div>
<div class="ms-3">
<div class="text-white"> <?= $validation->listErrors(); ?></div>
</div>
</div>
</div>
<?php endif; ?>
<!-- INIZIO id_prodotti -->
<div class='row'>
<div class='col-md-12'>
<label class='col-md-12 col-xs-12 control-label'>Ean</label>
<div class='col-md-12 col-xs-12'>
<input type="text" name="ean" class="form-control">
</div>
</div>
</div>
<!-- FNE id_prodotti -->
<span>note: * campi obbligatori</span>
<div class='text-right'>
<a href='<?= base_url() ?>' class='btn btn-danger'>Annulla</a>
<button class='btn btn-info submit-btn' type='submit' onclick=''>
<span class='indicator-label'>
INSERISCI
</span>
<span class='indicator-progress'>
Perfavore attendi... <span
class='spinner-border spinner-border-sm align-middle ms-2'></span>
</span>
</button> </div>
<br>
</form>
</div>
</div>
</div>
</div>
<?= $this->endSection() ?>
<?= $this->section('script') ?>
<script type="text/javascript" charset="utf8" src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/js/select2.min.js"></script>
<script>
//######## Gestione Submit singolo ###########
$( document ).ready(function() {
//nascondo lo spinner all'avvio
$('.indicator-progress').hide();
$('#id_id_prodotti').select2({
theme: "bootstrap-5",
});
})
$('.myform').on('submit', function(){
$('.submit-btn').attr('disabled', true);
$('.indicator-label').hide();
$('.indicator-progress').show();
});
//######## END Gestione Submit singolo ###########
</script>
<?= $this->endSection() ?>
But when validation return errors the errors aren't show on view .Why ?