我在App\Traits\Validate
创建了一个简单的函数。
此功能只是简单地验证图像。
public function validate_image($request)
{
$check = true;
$validate = $this->validate($request, [
'image' => 'image|mimes:jpeg,png,jpg|max:2048',
]);
dd($validate);
if($validate->fails())
{
$check = false;
}
return $check;
}
现在我在Controller中通过
访问此功能$check_image = $this->validate_image($request);
我正在传递整个request
变量。但仍然在validate_image
函数中我得到null
。我错过了什么?我在Validate
trait中有其他函数,这些函数工作正常,但是这个函数返回null值。请帮忙
yess image
是表单中file
字段的名称
答案 0 :(得分:2)
我不知道为什么,但试试这个......
首先添加
use Validator;
现在你发送了$request
我相信你在传递给Validator
此
$data[] = $request->files;
$validate = Validator::make($data, [
'image' => 'image|mimes:jpeg,png,jpg|max:2048',
]);
现在dd()
这个。希望它有效。
答案 1 :(得分:1)
首先确保您的表单可以发送文件。
<form method="POST" action="" enctype="multipart/form-data">
{!! Form::open([
'route' => '',
'method' => 'POST',
'files' => true
]) !!}
还可以创建自定义请求。你真的需要在控制器中进行验证吗?
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class CustomRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'image' => 'image|mimes:jpeg,png,jpg|max:2048',
];
}
}
答案 2 :(得分:0)
确保您可以从表单中处理图像。
确保在开头子句中添加了:
enctype="multipart/form-data"