Laravel 5 中的 FormRequests 是验证和授权的好方法。 但是,如果我必须验证包含一对多关系数据的请求,该如何处理。 例如,如果我有简单的发票应用程序。 一张发票有很多服务。 我的表单发布请求包含以下数据:
array (size=5)
'date' => string '2014-11-14' (length=10)
'num' => string '175' (length=3)
'client_id' => string '5' (length=1)
'vat' => string '1' (length=1)
'services' =>
array (size=2)
0 =>
array (size=3)
'description' => string 'Service 1' (length=36)
'value' => string '10' (length=2)
'items' => string '2' (length=1)
1 =>
array (size=3)
'description' => string 'Service 2' (length=11)
'value' => string '20' (length=2)
'items' => string '2' (length=1)
现在在 InvoiceFormRequest 类中我可以验证发票数据,但是如何继续服务:
<?php namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
use Response;
class InvoiceFormRequest extends FormRequest
{
public function rules()
{
return [
'date' => 'required',
'num' => 'required',
'client_id' => 'required',
'vat' => 'required'
];
}
public function authorize()
{
return true;
}
}
提前致谢!
更新: 正如我读过的here在 Laravel 5.2 中可以这样写:
'services.*.description' => 'required',
'services.*.value' => 'required:numeric',
'services.*.items' => 'required:integer'
最佳答案
现在在 Laravel 5.2 中我们有数组验证:
'services.*.description' => 'required',
'services.*.value' => 'required:numeric',
'services.*.items' => 'required:integer'
关于php - Laravel 5 Form Requests - 验证相关数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26936334/