проверить номер чана не работает должным образом - PullRequest
0 голосов
/ 02 июня 2018

У меня есть форма для ввода пользователем некоторых данных, номера НДС и страны.Когда пользователь вводит некоторые данные и нажимает на «Перейти к шагу 2», делается ajax-запрос к методу store (), и здесь должен быть проверен номер НДС на основе выбранной страны.

Но это не работает, "dd($request->country);" показывает ноль.Знаете ли вы, почему?

HTML:

<form method="post" id="step1" action="">

...
<div class="form-group font-size-sm">
        <select class="form-control" name="country" id="country">
            @foreach($countries as $country)
                <option value="">{{$country}}</option>
            @endforeach
        </select>
    </div>
    <div class="form-group font-size-sm">
        <label for="vat"
               class="text-gray">VAT</label>
        <input type="text" id="vat"
               name="vat"
               class="form-control" value="">
    </div>
    ...
</form>

// store () метод

public function store(Request $request, $id, $slug = null, Validator $validator){

      ...

        $rules = [];

        foreach ($request->question_required as $key => $value) {
            $rule = 'string|max:255'; 

            if ($value) {
                $rule = 'required|' . $rule;
            }
            $rules["question.{$key}"] = $rule;
        }

        if ($all) {

            $rules["name.*"] = 'required|max:255|string';
        }

        // the issue is here, country is null
        dd($request->country);
        dd(substr($request->country, 0, 2) . $request->vat);

        //Validator::validate( substr($request->country, 0, 2).$request->vat); // false (checks format + existence)

        $validator = Validator::make($request->all(), $rules, $messages);

        $errors = $validator->errors();
        $errors = json_decode($errors);

        if ($validator->fails()) {
            return response()->json([
                'success' => false,
                'errors' => $errors
            ], 422);
        }
        return response()->json([
            'success' => true,
            'message' => 'success'
        ], 200);

    }

// jQuery that do an ajax request

1 Ответ

0 голосов
/ 02 июня 2018

Попробуйте передать значение в ваш тег.Php не получает никакого значения от вашего ввода, поэтому он показывает ноль

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...