Laravel проверяет данные JSON из полезной нагрузки - PullRequest
1 голос
/ 04 апреля 2019

Мне интересно, как я проверяю данные JSON в Laravel.

У меня есть такие данные

Payload

В контроллере запрашиваю вот так

request('payment')['cardnumber']

Как мне это проверить.

В настоящее время у меня есть класс RequestValidator, подобный этому

public function rules()
    {
        return [
            'billing_address' => 'required',
            'town' => 'required',
            'county' => 'required',
        ];
    }

Это мой контроллер

public function ProcessAdvertPayment(Property $property, Request $request, PropertyPaymentRequest $propertyPaymentRequest)
{

    $payload = $request->input('payload', false);
    $nonce = $payload['nonce'];

    $payment = Braintree_Transaction::sale([
        'amount' => 1,
        'paymentMethodNonce' => $nonce,
        'creditCard' => ['number' => request('payment')['cardnumber'], 'expirationDate' => request('payment')['month'] . '/' . request('payment')['year'], "cvv" => request('payment')['cvv']],
    ]);

    if($payment->success)
    {
        $property->payment()->create(['amount' => $payment->transaction->amount, 'braintree_transaction_id' => $payment->transaction->id, 'billing_address' => request('payment')['billing_address'], 'town' => request('payment')['town'], 'county' => request('payment')['county']]);
        return response()->json($payment);
    } 

    return response()->json(['error' => 'Payment Failed. Please try again or contact your payment provider for further help.'], 400);
}

1 Ответ

0 голосов
/ 04 апреля 2019

Я бы посоветовал вам следовать учебному пособию по Laravel о Запросы на проверку формы .Он показывает, как вы можете получить проверенные данные запроса.

Если вы хотите проверить свойство переданной полезной нагрузки JSON, вы можете присвоить валидатору имя ключа (/ поля), например payment.country, дляподтвердить страну платежа.

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