php - Laravel 5 Form Requests - 验证相关数据

标签 php validation laravel-5

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'

http://laravel.com/docs/5.2/releases#laravel-5.2

关于php - Laravel 5 Form Requests - 验证相关数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26936334/

相关文章:

php - 插入多个数据

php - laravel 中特定字段的自定义验证消息

asp.net-mvc - asp.net mvc3 jquery ui 对话框和客户端验证

php - 文件上传大小验证

Azure B2C 注册流密码验证缺少失败文本

java - session 移植

php - 如何从 laravel 中的关系表中过滤数据

laravel-5 - Laravel 5.3 - Omnipay Paypal Express 不返回成功消息

laravel - 为什么策略能力方法不会被调用?

php - 停止从 CSV 插入第一行