首页 > 解决方案 > 使用 laravel 8 仅验证部分工作

问题描述

我正在使用 Laravel 8。我无法让我的验证工作。只有图像似乎有效。除了图像,我无法更新任何输入字段。谁能帮我修复我的代码?这是代码的一部分

public function editPage(request $request)
{
    
$request->validate([
    'image' => 'required|mimes:jpeg,jpg,png|max:100',
    'pageName' => 'required',
    'pageColor' => 'required',
    'pageFontcolor' => 'required',
    'pageDescription' => 'required',
    'pagePixiv' => 'required',
    ]);
    
    $userId = Auth::user()->id;
    $littlelink_name = Auth::user()->littlelink_name;

    $profilePhoto = $request->file('image');
    $pageName = $request->pageName;
    $pageColor = $request->pageColor;
    $pageFontcolor = $request->pageFontcolor;
    $pageDescription = $request->pageDescription;
    $pagePixiv = $request->pagePixiv;
    
    User::where('id', $userId)->update(['littlelink_name' => $pageName, 'littlelink_color' => $pageColor, 'littlelink_fontcolor' => $pageFontcolor, 'littlelink_pixiv' => $pagePixiv, 'littlelink_description' => $pageDescription]);

    if(!empty($profilePhoto)){
    $profilePhoto->move(public_path('/img'), $littlelink_name . ".png");
    }

    return back()->with('message', 'Saved');
}

标签: phplaravel

解决方案


您应该使用 input() 函数来获取请求中的单个字段。

$pageName = $request->input('pageName');

否则,您可以使用 all() 方法返回请求中的所有数据

$data = $request->all();

Laravel 请求文档


推荐阅读