Laravel проверка контроллера запроса с вложенными параметрами - PullRequest
0 голосов
/ 22 января 2020

Я пытаюсь проверить в моем контроллере запрос вложенных параметров, но не могу заставить его работать. Я нашел несколько ресурсов онлайн и пробовал разные вещи безуспешно. Это скрипт, который отправляет данные в контроллер:

var fieldsValuePair = {
    type: this.history.type
};

axios.get('/app/admin/cms/clients/processActivity', {
   params: {
      fieldsValuePair: fieldsValuePair,
      hid: this.history.hid
   }
})
.then((response) => {})
.catch(error => {
     this.errors = [];
     this.errors = error.response.data;
     console.log(this.errors);
});

Это моя проверка в моем контроллере:

$this->validate($request, ['type' => 'required'] , ['activity-type.required']);

Я хочу сказать, что если я добавлю: type: this.history.type в моем запросе ios сразу после hid: this.history.hid проверка работает правильно. Чего я хочу добиться, так это иметь type: this.history.type в fieldsValuePair объекте и правильно проверять его в контроллере.

1 Ответ

0 голосов
/ 22 января 2020

Я нашел решение, но не уверен, будет ли это лучшим. По крайней мере, это работает для меня.

$rulesArray = [];
    $fieldsValuePairArray = json_decode($request['fieldsValuePair'], true);
    foreach ($fieldsValuePairArray as $key => $value) {
        if($value == '')
            $rulesArray[$key] = 'required';
    }

    $this->validate($request, $rulesArray , ['activity-type.required']);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...