Функция hasFile не работает в Laravel5.8 - PullRequest
0 голосов
/ 02 июня 2019

У меня есть 3 входа для выбора файла с такими именами:

docs['selfie']
docs['id_card']
docs['bank_card']

Я хочу проверить, возвращен ли docs['selfie'] файл yes, в противном случае возвращается no. Но всегда возвращает no

функция:

    public function Document(Request $request)
    {
        if ($request->hasFile("docs['selfie']")) {
            return "yes";
        }
        else {
            return "no";
        }
    }

и форма:

{{ html()->form('POST', route('frontend.user.send.document'))->class('form-horizontal')->Attribute('enctype','multipart/form-data')->open() }}
<div class="row">
    <div class="col-md-12">
        <div class="form-group row">
            <label class="col-form-label col-lg-2">id card</label>
            <div class="col-lg-10">
                <div class="custom-file">
                    <input type="file" class="custom-file-input" id="National_Card" name="docs['id_Card']">
                    <label class="custom-file-label" for="docs">chose file</label>
                </div>
            </div>
        </div>
    </div>
    <div class="col-md-12">
        <div class="form-group row">
            <label class="col-form-label col-lg-2">bank card</label>
            <div class="col-lg-10">
                <div class="custom-file">
                    <input type="file" class="custom-file-input" id="Bank_card" name="docs['bank_card']">
                    <label class="custom-file-label" for="Bank_card">chose file</label>
                </div>
            </div>
        </div>
    </div>
    <div class="col-md-12">
            <div class="form-group row">
                <label class="col-form-label col-lg-2">selfie</label>
                <div class="col-lg-8">
                    <div class="custom-file">
                        <input type="file" class="custom-file-input" id="Selfie" name="docs['selfie']">
                        <label class="custom-file-label" for="Selfie">chose file</label>
                    </div>
                </div>
                <div class="col-lg-2">
                    <button type="button" class="btn btn-primary"  data-toggle="modal" data-target="#selfie_modal">see example</button>
                </div>                
            </div>
        </div>
    </div>
    <div class="row">
        <div class="col">
            <div class="form-group mb-0 clearfix">
                {{ form_submit("send docs" . ' ') }}
            </div><!--form-group-->
        </div><!--col-->
    </div><!--row-->
{{ html()->form()->close() }}

Ответы [ 2 ]

1 голос
/ 02 июня 2019

Вы не должны использовать кавычки в своем имени HTML:

<input type="file" class="custom-file-input" id="Selfie" name="docs[selfie]">
// instead of name="docs['selfie']" 

Удалите все кавычки для имен в скобках, тогда вы можете просто использовать:

dump($request->hasFile('docs.selfie'));

Будет работать

1 голос
/ 02 июня 2019

попробуйте

 public function Document(Request $request)
    {
        if ($request->hasFile("docs.selfie")) {
            return "yes";
        }
        else {
            return "no";
        }
    }

проверить данные запроса

 echo "<pre>"; 
 print_r($request->all()); 
 die;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...