Laravel 8 验证 required_without

Laravel 8 validation required_without

我有三个字段

需要 body 没有图像,所以我做了以下操作:

   $request->validate([
        'title' => 'required|string|max:' . (int) Setting::getValue('titlemaxchars'),
        'body'  => [
            'required_without:images',
            'string',
            'min:'.(int) Setting::getValue('postminchars'),
            'max:'.(int) Setting::getValue('postmaxchars'),
        ],
    ]);

    if ($request->hasFile('images')) {
        foreach ($request->file('images') as $file) {
            Validator::validate(['photo' => $file], [
                'photo' => ['required', 'file', 'image', 'max:2048'],
            ]);
        }
    }

以下问题:

我不希望他们在有图片的情况下出现任何错误信息,只有在没有图片的情况下才会出现错误信息。

这对我有用!

 $request->validate([
        'title' => 'required|string|max:' . (int) Setting::getValue('titlemaxchars'),
    ]);

    if(!empty($request->hasFile('images'))){
        $request->validate([
            'body'  => 'nullable',
        ]);
    }else{
        $request->validate([
            'body'  => [
                'required',
                'string',
                'min:'.(int) Setting::getValue('postminchars'),
                'max:'.(int) Setting::getValue('postmaxchars'),
            ],
        ]);
    }