Я пытаюсь проверить json, который я получаю по почте, используя библиотеку Dingo API в Laravel.Кажется, что проверка работает неправильно, когда я отправляю действительный JSON в соответствии с полями, которые я проверяю, и он возвращает мне сообщение:
Поле X обязательно.
Но я 'Я отправляю поле X в json, чего я не понимаю.
JSON:
[
{
"currency_id": 1,
"bills": [
{
"barcode": "99999.9999999.99999999.9999 9",
"due_date": "2018-09-14",
"value": 70.00
},
{
"barcode": "8888.888888.88888.8888 8",
"due_date": "2018-09-15",
"value": 32.00
}
]
}
]
Я получаю эту ошибку:
"message": "422 Unprocessable Entity",
"errors": {
"currency_id": [
"The currency id field is required."
],
"bills": [
"The bills field is required."
]
},
Это мойПользовательский FormRequest с правилами проверки, где я передаю его в качестве параметра в методе хранения BillController.
namespace App\Http\Requests;
use App\Rules\Sum;
use Dingo\Api\Http\FormRequest;
class BillRequest extends FormRequest
{
public function authorize()
{
return true;
}
public function rules()
{
return [
'currency_id' => 'required|integer|exists:currency,id',
'bills' => ['required', 'array', 'min:1', 'max:3', new Sum],
'bills.*.barcode' => 'required|string|min:10|max:255',
'bills.*.due_date' => 'date',
'bills.*.value' => 'required|numeric|between:10,30000',
];
}
}