[英]Laravel validate json data from payload
我想知道如何在Laravel中验证我的json数据。
我有这样的数据
在控制器中我这样要求
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);
}
我建议您遵循有关表单验证请求的Laravel教程。 它展示了如何检索请求的验证数据。
如果您想验证提交的JSON有效负载的属性,则可以为验证器提供一个密钥(/字段)名称,例如payment.country
以验证付款国家/地区。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.