Должна быть допустимой строкой JSON Laravel и Postman

Я пытаюсь передать простой массив объектов JSON в Laravel, и мой валидатор не работает. Я не уверен, что это проблема относительно Postman или Laravel самого валидатора.

Передача данных от Postman:

semester:1
academic_year:2
civil_year:2016
course_id:1
periods[0]:{ "id": 2, "starts": '2018-01-01', "end": '2018-06-01' }

Должна быть допустимой строкой JSON Laravel и Postman

Ларавель Валидатор:

Validator::validate($request->all(), [
            'semester'      => 'integer|between:1,2',
            'academic_year' => 'required|integer|between:1,4',
            'civil_year'    => 'required|integer|between:' . date('Y', strtotime('-5 years')) . ',' . date('Y', strtotime('+5 years')),
            'course_id'     => 'required|integer|exists:courses,id',
            'periods'       => 'required|array|between:1,4',
            'periods.*'     => 'required|json'
        ]);

Валидатор возвращает:

{
    "message": "The given data was invalid.",
    "errors": {
        "periods.0": [
            "The periods.0 must be a valid JSON string."
        ]
    }
}

Что я пробовал

Я попытался передать как raw запрос от Postman, но безуспешно:

Должна быть допустимой строкой JSON Laravel и Postman

Кроме того, я попытался вставить заголовки

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

то чувство, которое вы испытываете, когда гуглите свой вопрос и возвращаетесь к нему спустя месяцы :D

null 22.07.2019 20:26
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
1
2 312
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Я тестировал с помощью почтальона, и проверка не проходит, если я использую одинарные кавычки, как здесь:

{ "id": 2, "starts": '2018-01-01', "end": '2018-06-01'}

Попробуйте использовать двойные кавычки следующим образом:

{ "id": 2, "starts": "2018-01-01", "end": "2018-06-01"}

Это должно пройти.

Я просто добавил две строки

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

и это работает хорошо.

Другие вопросы по теме