如果没有上传文件,则进行Laravel 5自定义验证

时间:2016-10-15 09:43:39

标签: validation laravel-5

我正在尝试创建自定义验证,以检查文件是否已在表单中上传。

我查看了自定义错误文档,但无法使其正常工作。

我找到了这个教程:Custom Error

在我的控制器中,我这样做:

from . import func

在App / ServiceProvider中我添加了这个:

if($request->hasFile('file'))
        $has_file = 1;
    else
        $has_file = 0;

 $this->validate($request, ['file' => 'isuploaded']);

我应该在这里回来什么?如何将$ has_file发送给验证器?

1 个答案:

答案 0 :(得分:1)

如果需要file字段,validate会为您核对。

假设您的表单文件输入为name="file",只需:

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

这样,如果没有文件,验证将失败。

如果情况不是这样,并且您想在Validator::extend中创建自定义规则,则应编写自己的业务逻辑以检查文件是否存在,然后返回true/false