Welcome Guest, Not a member yet? Register   Sign In
Validation more data by JSON request - CI 4
#5

(This post was last modified: 07-08-2022, 01:30 AM by flux1on.)

(07-08-2022, 12:41 AM)iRedds Wrote: This is a bug.
Until it's fixed, you can validate each dataset individually.

https://github.com/codeigniter4/CodeIgniter4/pull/6243

Thankyou for helping to fix this

(07-08-2022, 12:41 AM)iRedds Wrote: This is a bug.
Until it's fixed, you can validate each dataset individually.

https://github.com/codeigniter4/CodeIgniter4/pull/6243

Now with your PR works for me.

PHP Code:
public function createBatch()
    {
        $dataValidate json_decode($this->request->getPost('params_json'), true);

        $validationRules  = [
            '*.params_id'        => 'required|string|max_length[3]|is_unique[sm_benefit_group.benefitgroup_id]',
            '*.params_name'      => 'required|string|max_length[100]',
            '*.params_gender'    => 'required|validBenefitGroupGender',
            '*.params_description'=> 'required|string|max_length[255]',
            '*.params_created'    => 'required|integer',
        ];

        $validationMessages = [
            '*.params_id' => [
                'required' => 'ID must be required',
                'string' => 'ID must be string',
                'max_length' => 'ID must be maximum 3 length',
                'is_unique' => 'ID already exists, try another unique',
            ],
            '*.params_name' => [
                'required' => 'Name must be required',
                'string' => 'Name must be string',
                'max_length' => 'Name must be maximum 100 length',
            ],
            '*.params_gender' => [
                'required' => 'Gender Type must be required',
                'validBenefitGroupGender' => 'Gender Type must be string and between ("All","M","F")',
            ],
            '*.params_description' => [
                'required' => 'Description must be required',
                'string' => 'Description must be string',
                'max_length' => 'Description must be maximum 255 length',
            ],
            '*.params_created' => [
                'required' => 'Created By must be required',
                'integer' => 'Created By must be integer',
            ],
        ];

        $this->validation->setRules($validationRules$validationMessages);

        if ($this->validation->run($dataValidate)) {
            $dataParams = array();

            foreach ($dataValidate as $index => $value) {
                $dataParams[$index]['benefitgroup_id'] = $value['params_id'];
                $dataParams[$index]['benefitgroup_name'] = $value['params_name'];
                $dataParams[$index]['benefitgroup_gender'] = $value['params_gender'];
                $dataParams[$index]['benefitgroup_description'] = $value['params_description'];
                $dataParams[$index]['benefitgroup_created_by'] = $value['params_created'];
                $dataParams[$index]['benefitgroup_modified_by'] = $value['params_created'];
            }
    
            $result 
$this->benefitgroup_model->saveDataBatch($dataParams);
    
            
if ($result) {
                $response = [
                    'success'  => true,
                    'status'  => 201,
                    'messages' => 'Data benefit group saved!',
                ];
        
                
// Result
                return $this->respond($response201);
            } else {
                $response = [
                    'success'  => false,
                    'status'  => 400,
                    'messages' => 'Data benefit group cant be saved!',
                ];
        
                
// Result
                return $this->respond($response400);
            }
        } else {
            $response = [
                'success'  => false,
                'status'  => 400,
                'messages' => 'Validation data benefit group failed!',
                'validation' => $this->validation->getErrors(),
            ];
    
            
// Result
            return $this->respond($response400);
        }
    
Reply


Messages In This Thread
RE: Validation more data by JSON request - CI 4 - by flux1on - 07-08-2022, 01:01 AM



Theme © iAndrew 2016 - Forum software by © MyBB