Php 对成员函数的larvel调用为null时为isValid()

Php 对成员函数的larvel调用为null时为isValid(),php,laravel,Php,Laravel,在我的项目中,用户可以上传内容并附加图像。 我有一个控制器,在那里我对文件输入进行isValid检查。只要你选择一个文件,一切都很好。当我没有选择文件时,会出现此错误 Call to a member function isValid() on null 在这一行代码中: if (Input::file('image')->isValid()) 这个错误很明显,因为我没有选择图像,但实际上我不知道如何修复它 如果有人能帮忙,我会很高兴:) 提前谢谢 首先,您需要检查您的请求是否包含该文

在我的项目中,用户可以上传内容并附加图像。 我有一个控制器,在那里我对文件输入进行isValid检查。只要你选择一个文件,一切都很好。当我没有选择文件时,会出现此错误

Call to a member function isValid() on null
在这一行代码中:

if (Input::file('image')->isValid())
这个错误很明显,因为我没有选择图像,但实际上我不知道如何修复它

如果有人能帮忙,我会很高兴:) 提前谢谢

首先,您需要检查您的请求是否包含该文件/输入

确定是否上载了文件

if (Request::hasFile('image'))
{
    /*Determining If An Uploaded File Is Valid*/
    if (Request::file('image')->isValid())
    {
        //
    }
}
只是为了您的信息,也请确保您在发布时获得了文件。 在HTML表单元素中添加属性
enctype=“multipart/form data”

您可以使用任何输入和请求facade。
Input类还引用了laravel中的
\illumb\Http\Request
enctype=“multipart/form data”
添加到表单中使用
hasFile()
如果(Input::hasFile('image'))
@Rifki考虑过这个问题,但不想使用这个方法,因为我正在验证表单。我只希望显示一条错误消息,如“请上载文件”或其他类似内容。您需要验证规则,无需使用
if
语句,例如
'image'=>'mimes:jpeg,bmp,png'
但这样我就不能使用我在请求文件中使用的错误消息。例如,如果标题短于3个字符,则会显示错误消息,说明标题必须长于3个字符。我想使用相同的方法验证文件输入,因此请为该字段添加验证规则