Welcome Guest, Not a member yet? Register   Sign In
Showing only one error in validation
#1

hi , i have a form with 3 fields (descrizione , um , quantita) that repeats 15 or more time i create a rule to control if descrizione is set um and quantita must be set too :

Code:
public function compila_tutta_la_riga(string $str, string $fields, array $data, ?string &$error = null): bool
{

$num_descrizioni= count($data["descrizione"]);

$error=NULL;

$array_num= [];

$error = 'Devi  inserire la riga completa descrizione unita misura quantita alle seguenti righe :';


for ($i=1; $i <= $num_descrizioni; $i++) {


if ($data["descrizione"][$i]!='' AND ( $data['um'][$i]=='' OR $data['quantita'][$i] == '' ) ) {

$errore='true';

if(!in_array($i,$array_num)){

$array_num[]=$i;

$error .= $i.' ';

}

}

}

if($errore){

return false;

}else {
return true;
}


}

in $rules i have :
Code:
                                    'descrizione.*'=>[
                                                        'label' => 'Riga DDt',
                                                        'rules' => 'compila_tutta_la_riga[descrizione,um,quantita]',
           
                                                    ],
I have this error visaualization  :
Code:
Devi inserire la riga completa descrizione unita misura quantita alle seguenti righe :15
Devi inserire la riga completa descrizione unita misura quantita alle seguenti righe :15
Devi inserire la riga completa descrizione unita misura quantita alle seguenti righe :15
Devi inserire la riga completa descrizione unita misura quantita alle seguenti righe :15
Devi inserire la riga completa descrizione unita misura quantita alle seguenti righe :15
Devi inserire la riga completa descrizione unita misura quantita alle seguenti righe :15
Devi inserire la riga completa descrizione unita misura quantita alle seguenti righe :15
Devi inserire la riga completa descrizione unita misura quantita alle seguenti righe :15
Devi inserire la riga completa descrizione unita misura quantita alle seguenti righe :15
Devi inserire la riga completa descrizione unita misura quantita alle seguenti righe :15
Devi inserire la riga completa descrizione unita misura quantita alle seguenti righe :15
Devi inserire la riga completa descrizione unita misura quantita alle seguenti righe :15
Devi inserire la riga completa descrizione unita misura quantita alle seguenti righe :15
Devi inserire la riga completa descrizione unita misura quantita alle seguenti righe :15
Devi inserire la riga completa descrizione unita misura quantita alle seguenti righe :15
Devi inserire la riga completa descrizione unita misura quantita alle seguenti righe :15
How can i show only one error fr this rule ?
Reply
#2

Your for loop is what is doing it set a flag or something to tell you that you already have an error.
What did you Try? What did you Get? What did you Expect?

Joined CodeIgniter Community 2009.  ( Skype: insitfx )
Reply
#3

(03-15-2024, 12:06 AM)InsiteFX Wrote: Your for loop is what is doing it set a flag or something to tell you that you already have an error.

But if i set only one error it return the error only one time , if the row are several too..

it should  be on error with every row
Reply




Theme © iAndrew 2016 - Forum software by © MyBB