Правило проверки JSON laravel - PullRequest
0 голосов
/ 11 июня 2018

Я пытаюсь использовать правило проверки json в запросе формы, но я постоянно получаю недопустимое сообщение JSON.Я не нашел примеров того, как использовать это правило, поэтому я немного растерялся.

Моя функция правил выглядит так:

public function rules()
    {
        return [
            'userData'=>'json',
            'securityChanges'=>'json'
        ]
    }

И мой JSON выглядит так:

{
    "userData":{
        "domicilio":"nowere",
        "empresa":"Burgerking",
        "name":"zorgito",
        "surname": "perez",
        "cuit":"10101010"
    },
    "securityChanges":{
        "email": "flasheadas@lolo.com",
        "password": "777777777777",
        "passwordConfirmation":"777777777777"
    }
}

Мои заголовки установлены правильно:

Accept: application/json
Content-Type: application/json

Должно работать, ноЯ получаю:

 "The user data must be a valid JSON string."

Есть идеи, что здесь не так?

РЕДАКТИРОВАТЬ: по запросу n один из ответов, я помещаю вывод dd($this->all()); в мойкласс запроса формы

    array:2 [
      "userData" => array:5 [
        "domicilio" => "nowere"
        "empresa" => "Burgerking"
        "name" => "zorgito"
        "surname" => "perez"
        "cuit" => "10101010"
      ]
      "securityChanges" => array:3 [
        "email" => "flasheaasddas@lolo.com"
        "password" => "777777777777"
        "passwordConfirmation" => "777777777777"
      ]

   ]

Весь HTTP-запрос:

PATCH /api/users/me HTTP/1.1
Host: DOMAIN REMOVED
Authorization: Bearer (TOKEN REMOVED.)
Accept: application/json
Content-Type: application/json
Cache-Control: no-cache
Postman-Token: 73516b63-8556-4c21-9050-7a4fa3a83cb1

{
    "userData":{
        "domicilio":"nowere",
        "empresa":"Burgerking",
        "name":"zorgito",
        "surname": "perez",
        "cuit":"10101010"
    },
    "securityChanges":{
        "email": "flasheaasddas@lolo.com",
        "password": "777777777777",
        "passwordConfirmation":"777777777777"
    }
}

1 Ответ

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

Ничего не понятно, пожалуйста, сделайте dd ($ request-> all ()) или dd ($ this-> all ()) (если вы находитесь непосредственно в классе запроса) и убедитесь, что у вас есть эти поля, а затем сделайтеубедитесь, что поля являются допустимыми строками json.Вы можете проверить это здесь https://jsonlint.com/

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