Sh3ll
OdayForums


Server : Apache
System : Linux 145.162.205.92.host.secureserver.net 5.14.0-611.45.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Apr 1 05:56:53 EDT 2026 x86_64
User : tradze ( 1001)
PHP Version : 8.1.34
Disable Function : NONE
Directory :  /home/tradze/public_html/test.tradze.com/app/Modules/Banners/Http/Requests/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/tradze/public_html/test.tradze.com/app/Modules/Banners/Http/Requests/BannerRequest.php
<?php
namespace App\Modules\Banners\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

class BannerRequest extends FormRequest
{
    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        //count number of images uploaded for this banner
        $no_of_images = 0;

        $rules =  [
            'name' => 'required|string',
        ];

        //validate new gallery file
        if (!empty($this->request->get('file_title'))){
            foreach($this->request->get('file_title') as $key => $val){
                $rules['photo.'.$key] = 'required|image';
            } //endforeach
            $no_of_images = count($this->request->get('file_title'));
        }

        //validate existing gallery for edit method
        switch($this->method())
        {
            case 'PUT':
            case 'PATCH':
            {
                //get current object based on route
                $obj = $this->route()->banners;

                //get banner files
                $files = $obj->files;
                if (!$files->isEmpty()){

                    //set validation rules for each file
                    foreach($files as $d){
                        $rules["photo_{$d->id}"] = 'image';
                    } //endforeach

                    //update no of images
                    $no_of_images = $files->count();
                } //endif
            }
            default:break;
        }

        //the banner must have at leats 1 photo to be considered valid
        if (!$no_of_images)
            $rules['photo'] = 'required';

        return $rules;

    }

    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Customize messages
     * @return array
     */
    public function messages()
    {
        $messages =
        [
            'name.required' => trans('banners::banners.message_error_name_required'),
            'photo.required' => trans('banners::banners.message_error_photo_min_required'),
        ];

        if (!empty($this->request->get('file_title'))){
            foreach($this->request->get('file_title') as $key => $val){
                $messages["photo.$key.required"] = trans('banners::banners.message_photo_required');
                $messages["photo.$key.image"] = trans('banners::banners.message_photo_image');
            }
        }

        $obj = $this->route()->banners;
        if ($obj){
            $files = $obj->files;
            foreach($files as $file){
                $messages["photo_{$file->id}.image"] = trans('banners::banners.message_photo_image');
            }
        }



        return $messages;
    } //end method
}

ZeroDay Forums Mini