Laravel 5.2 - 验证 - 需要其中一个字段

时间:2016-09-13 10:03:49

标签: php validation laravel-5 laravel-5.2

采取一个方案,

There are 2 fields available in the form.

1) input type file for manual upload.
2) input type = text to enter youtube video url.

是否可以使用laravel内置验证,以便在用户将两个字段都留空时触发验证!

我经历了https://laravel.com/docs/5.3/validation但找不到我想要的东西。

4 个答案:

答案 0 :(得分:0)

在您的控制器中,您可以执行以下操作:

$validator = Validator::make($request->all(), [
    'link_upload' => 'required|etc|...',
]);

$validator2 = Validator::make($request->all(), [
    'file_upload' => 'required|etc|...',
]);

if ($validator->fails() && $validator2->fails()) {
    // return with errors
}

答案 1 :(得分:0)

尝试required-without-all验证规则。如文档中所示:

  

只有当所有其他指定字段都不存在时,验证字段才必须存在。

假设您的字段名称为urlfile,则您的规则如下:

$rules = [
    'url' => 'required_without_all:file',
    'file' => 'required_without_all:url'
];

答案 2 :(得分:0)

答案 3 :(得分:0)

试试这个,

在您的更新方法中添加此

$this->validate($request, [
      'fileName'=>'required',
      'urlName'=>'required'
]);

别忘了在模型中设置fillable

protected $fillable = ['fileName','urlName'];

希望这有帮助