当我使用$ request-> only()时,验证器在laravel 5.3中不需要整数字段

时间:2017-02-03 06:45:51

标签: laravel laravel-5.3

$ request-> laravel中的all()仅返回params。

示例:

wrap_content

但是当我使用$ request-> only([" field1"," field2",...])时,它会返回

array:1 [
  "user" => array:2 [
  "phone" => "+7(900)900-10"
  "password" => "123"
 ]
]

对于具有以下规则的字段array:1 [ "user" => array:6 [ "phone" => "+7(900)900-10" "password" => "123" "first_name" => null "last_name" => null "middle_name" => null "manager_id" => null ] ] ,验证失败:manager_id

此字段在数据库中可以为空,如果未从浏览器传递,则必须将其设置为null。

如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

您无需执行任何操作,Laravel将创建一行,manager_id将为null

要验证通过,请尝试删除required规则,如果您正在使用该规则或使用sometimes规则。

  

在某些情况下,只有在输入数组中存在该字段时,您可能希望对字段运行验证检查。要快速完成此操作,请将有时规则添加到规则列表中:

'email' => 'sometimes|required|email'