我试图用Request文件进行复杂的验证
"algunTexto" => "required" ,
"archivo_texto" => "required_if:algunTexto,si|file|mimes:doc,docx,pages,txt|max:10000" ,
它无法正常工作,因为该请求返回的错误是文件必须是" doc,docx等。"并且输入必须是文件,因此我决定尝试添加bail
"archivo_texto" => "bail|required_if:algunTexto,si|file|mimes:doc,docx,pages,txt|max:10000" ,
现在" doc,docx"错误不再出现,但输入必须是文件的另一个仍然存在。
我做了一个研究,结果使用了这个:
$data = $request->all();
$validator = validator($data,
[
'archivo_texto' => 'required_if:algunTexto,si'
]
);
$res = $validator->sometimes('archivo_texto', 'file|mimes:doc,docx,pages,txt|max:10000', function($data){
return $data->algunTexto == 'si';
});
但是现在,即使名为" algunTexto"的单选按钮也是如此。等于" si",我没有上传任何文件" archivo_texto",我没有得到任何错误。
我做错了什么?
答案 0 :(得分:1)
现在它适用于我最后的尝试,我错过了这些线:
if($validator->fails()){
return back()->withErrors($validator);
}
我认为它会自动返回错误,就像请求一样,抱歉。