Welcome Guest, Not a member yet? Register   Sign In
Rules in for loop
#1

HI hi have 200 field named serial_1 , serial_2,serial_3 .... serial_200
Can i write rule with for loop ?
Reply
#2

Is this related to: https://forum.codeigniter.com/showthread.php?tid=87898 ?
I suggest to rename your fieldnames to serial[1], serial[2], serial[3], ... , serial[200]
To validate those fields, see:
https://forum.codeigniter.com/showthread.php?tid=82985
Reply
#3

Work , but how can i set custom error message :

Code:
                                    'seriale.*'=>[
                                                'label'=>"Seriale.*",
                                                'rules'=>'seriale_corretto_cambio_clienti|permit_empty',
                                                'errors'=>[

                                                            'seriale_corretto_cambio_clienti'=>'{field} non è un seriale corretto',

                                                          ]
                                    ],


How can set label properly to show the correct field with problem ?
Reply
#4

I am guessing now, but maybe like this:
https://codeigniter.com/user_guide/libra...all-errors
Reply
#5

(This post was last modified: 06-27-2023, 07:56 AM by pippuccio76.)


(06-27-2023, 07:54 AM)pippuccio76 Wrote: [quote="JustJohnQ" pid="410743" dateline="1687874459"]
I am guessing now, but maybe like this:
https://codeigniter.com/user_guide/libra...all-errors

This is my error :

Code:
[list][*]Seriale 1 obbligatorio
[*]Seriale.* non è un seriale corretto
[*]Seriale.* non è un seriale corretto
[*]Seriale.* non è presente in magazzino
[*]Seriale.* non è un seriale corretto
[/list]

Seriale 1 have a separated rules (required) , i add a another custom rules for every seriale
Reply
#6

(This post was last modified: 06-28-2023, 12:16 AM by pippuccio76.)

(06-27-2023, 07:54 AM)pippuccio76 Wrote:
(06-27-2023, 07:54 AM)pippuccio76 Wrote:
(06-27-2023, 07:00 AM)JustJohnQ Wrote: I am guessing now, but maybe like this:
https://codeigniter.com/user_guide/libra...all-errors

This is my error :

Code:
[list][*]Seriale 1 obbligatorio
[*]Seriale.* non è un seriale corretto
[*]Seriale.* non è un seriale corretto
[*]Seriale.* non è presente in magazzino
[*]Seriale.* non è un seriale corretto
[/list]

Seriale 1 have a separated rules (required) , i add a another custom rules for every seriale
How can i show  " Seriale 1 ( or Seriale[1] ) non è un seriale Corretto" instead  "Seriale.* non è un seriale Corretto" ? i have 200 rows , find the error is a problem...
Reply
#7

(This post was last modified: 07-03-2023, 07:41 AM by pippuccio76. Edit Reason: solved )

SOLVED:
Change input name as seriale_1 ,seriale_2, ....seriale_200

Change rule as :

Code:
            for ($i = 1; $i <=200 ; $i++) {

                $rules['seriale_'.$i]= [
                                              
                                                'rules'=>'seriale_corretto_cambio_clienti|macchina_is_present_Picking|permit_empty',
                                                'errors'=>[

                                                            'seriale_corretto_cambio_clienti'=>"Seriale $i non è un seriale corretto",
                                                            'macchina_is_present_Picking'=>'Seriale $i  non è presente in magazzino ',

                                                          ]
                                        ];
               
            }
Reply
#8

The problem is when i must send more parameter as array...
Reply
#9

(This post was last modified: 07-05-2023, 05:33 AM by pippuccio76.)

(07-04-2023, 05:07 AM)pippuccio76 Wrote: The problem is when i must send more parameter as array...

I create a custom validation for update :


Code:
        /**
  * Funzione che controlla se è presente il seriale in altri pallet
  */
    public function seriale_presente_altri_pallet_on_update(string $str,string $fields, array $data)
    {
        $pancali_picking_model  = new Pancali_pickingModel();
        $macchina_model = new MacchinaModel();

        //dd($data);

        //variabile per validazione
        $validazione= true ;

        //variabile per immagazzinare il seriale delle macchine
        $error_message = '';

        //ciclo tutte le macchine
        for ($i = 1; $i <=18 ; $i++) {
           
            if(isset($data['id_macchina_'.$i]) AND $data['id_macchina_'.$i]!=''){

                $macchina = $macchina_model->where('seriale',$data['id_macchina_'.$i])->first();

                if($macchina){

                    $id_macchina = $macchina->id;

                    $pancali = $pancali_picking_model->where('id!=',$data['id'])
                                                    ->groupStart()
                                                    ->where('id_macchina_1',$id_macchina)
                                                    ->orWhere('id_macchina_2',$id_macchina)
                                                    ->orWhere('id_macchina_3',$id_macchina)
                                                    ->orWhere('id_macchina_4',$id_macchina)
                                                    ->orWhere('id_macchina_5',$id_macchina)
                                                    ->orWhere('id_macchina_6',$id_macchina)
                                                    ->orWhere('id_macchina_7',$id_macchina)
                                                    ->orWhere('id_macchina_8',$id_macchina)
                                                    ->orWhere('id_macchina_9',$id_macchina)
                                                    ->orWhere('id_macchina_10',$id_macchina)
                                                    ->orWhere('id_macchina_11',$id_macchina)
                                                    ->orWhere('id_macchina_12',$id_macchina)
                                                    ->orWhere('id_macchina_13',$id_macchina)
                                                    ->orWhere('id_macchina_14',$id_macchina)
                                                    ->orWhere('id_macchina_15',$id_macchina)
                                                    ->orWhere('id_macchina_16',$id_macchina)
                                                    ->orWhere('id_macchina_17',$id_macchina)
                                                    ->orWhere('id_macchina_18',$id_macchina)
                                                    ->groupEnd()
                                                    ->findAll();


                    if(count($pancali)){

                        (.=' '.$macchina->seriale.'-';

                        $validazione= false ;

                    }

                   
                }
               
            }

        }   

        return $validazione;

    }//end seriale_presente_altri_pallet_on_update

Can i return an error message from this function($error_message) + true or false ?
Reply




Theme © iAndrew 2016 - Forum software by © MyBB