0

我正在使用 Laravel,我有一个排序系统,我想使用表单请求来验证它

所以请求是这样的

    array:5 [▼
  "type" => "product"
  "minprice" => "10"
  "maxprice" => "10000000000"
  "color" => null
  "sortBy" => array:2 [▼
    "field" => "created_at"
    "orderBy" => "desc"
  ]
]

我想检查'field'和'orderBy'只有例如created_at值和desc值

我怎样才能做到这一点?

这是我的表格要求

  return [
      'type' => 'required|in:all,file,service,product',
      'minprice' =>  'required|numeric|min:0|max:1000000000000',
      'maxprice' =>  'required|numeric|min:0|max:100000000000000',
      'color' =>  'min:0|max:7',
      // 'sortBy' =>  'in:desc,orderBy',
    ];
4

1 回答 1

1

阅读文档:https ://laravel.com/docs/6.x/validation

它说:

如果您的 HTTP 请求包含“嵌套”参数,您可以使用“点”语法在验证规则中指定它们:

所以你可以使用:

'sortBy.field' => 'in:created_at,updated_at,deleted_at',
'sortBy.orderBy' => 'in:asc,desc',
于 2020-03-16T14:49:13.773 回答