我只对文件输入字段使用了一个验证规则。这是mimes规则。如果没有上传文件,我想跳过这个规则,所以我没有使用'required'规则。但是即使没有上传文件,它也总是显示mime类型的消息。我刚刚添加了测试所需的规则,当时它显示了所需的错误消息。这个问题只在使用jquery.form.js的 AJAX 提交表单时出现
rks48beu1#
您可以使用sometimes验证类型。
sometimes
'file' => 'sometimes|mimes:jpeg,png'
存在时正在验证
在某些情况下,您可能希望仅在输入数组中存在某个字段时才对该字段运行验证检查。若要快速完成此操作,请将有时规则添加到规则列表中。官方Laravel文件
oug3syen2#
您可以使用sometimes规则。
'photo' => 'sometimes|mimes:jpeg,bmp,png'
您可以在www.example.com查看更多信息https://laravel.com/docs/5.4/validation#conditionally-adding-rules
evrscar23#
我最近在 AJAX 上传中也遇到了同样的问题,并使用
public function rules() { $rules = [ 'invitation_message' => 'required' ]; if (request()->hasFile('invitation_excel_sheet')) { $rules = array_merge($rules, [ 'invitation_excel_sheet' => 'mimes:xlsx,csv' ]); } return $rules; }
nzkunb0c4#
另一种方法是在模型中使用exclude_if:
exclude_if
public function rules() { return [ 'link' => 'sometimes', 'newPdf' => 'exclude_if:link,null|mimes:pdf', ]; }
4条答案
按热度按时间rks48beu1#
您可以使用
sometimes
验证类型。存在时正在验证
在某些情况下,您可能希望仅在输入数组中存在某个字段时才对该字段运行验证检查。若要快速完成此操作,请将有时规则添加到规则列表中。
官方Laravel文件
oug3syen2#
您可以使用
sometimes
规则。您可以在www.example.com查看更多信息https://laravel.com/docs/5.4/validation#conditionally-adding-rules
evrscar23#
我最近在 AJAX 上传中也遇到了同样的问题,并使用
nzkunb0c4#
另一种方法是在模型中使用
exclude_if
: