采取一个方案,
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但找不到我想要的东西。
答案 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
验证规则。如文档中所示:
只有当所有其他指定字段都不存在时,验证字段才必须存在。
假设您的字段名称为url
和file
,则您的规则如下:
$rules = [
'url' => 'required_without_all:file',
'file' => 'required_without_all:url'
];
答案 2 :(得分:0)
required_without:foo,bar,...
答案 3 :(得分:0)
试试这个,
在您的更新方法中添加此
$this->validate($request, [
'fileName'=>'required',
'urlName'=>'required'
]);
别忘了在模型中设置fillable
protected $fillable = ['fileName','urlName'];
希望这有帮助