在 Laravel 表单验证后插入记录
Insert record after Laravel form validation
我正在尝试 Laravel 5.8 请求验证。我设法 return 错误并将它们显示在我的视图中。问题是当我尝试不触发任何验证规则时,无论出于何种原因我都无法将记录插入我的 table。
错误
Too few arguments to function
App\Http\Requests\FieldRequest::Illuminate\Foundation\Providers{closure}(),
0 passed and exactly 1 expected
控制器
class FormController extends Controller
{
public function create()
{
return view('create');
}
public function store(FieldRequest $req)
{
$validate_data = $req->validate();
Form::create($validate_data);
return redirect()->back()->with('message', 'Success!');
}
}
表单请求
class FieldRequest extends FormRequest
{
public function authorize()
{
return true;
}
public function rules()
{
return [
'item_name' => 'bail|required|max:255',
'sku_no' => 'required|alpha_num',
'price' => 'required|numeric',
];
}
public function messages()
{
return [
'item_name.required' => 'An Item Name is required',
'sku_no.required' => 'An SKU NO is required',
'price.required' => 'The price is required',
];
}
}
我期待在我的 table 中插入一些东西。我是否需要在我的控制器中执行验证来实现这一点?提前致谢!
public function store(FieldRequest $req)
{
$data = $req->all();
Form::create($data);
return redirect()->back()->with('message', 'Success!');
}
当您使用表单请求时,您无需使用 validate()
函数,因为您的请求进入表单请求以验证您的数据,然后它将存储记录
我正在尝试 Laravel 5.8 请求验证。我设法 return 错误并将它们显示在我的视图中。问题是当我尝试不触发任何验证规则时,无论出于何种原因我都无法将记录插入我的 table。
错误
Too few arguments to function App\Http\Requests\FieldRequest::Illuminate\Foundation\Providers{closure}(), 0 passed and exactly 1 expected
控制器
class FormController extends Controller
{
public function create()
{
return view('create');
}
public function store(FieldRequest $req)
{
$validate_data = $req->validate();
Form::create($validate_data);
return redirect()->back()->with('message', 'Success!');
}
}
表单请求
class FieldRequest extends FormRequest
{
public function authorize()
{
return true;
}
public function rules()
{
return [
'item_name' => 'bail|required|max:255',
'sku_no' => 'required|alpha_num',
'price' => 'required|numeric',
];
}
public function messages()
{
return [
'item_name.required' => 'An Item Name is required',
'sku_no.required' => 'An SKU NO is required',
'price.required' => 'The price is required',
];
}
}
我期待在我的 table 中插入一些东西。我是否需要在我的控制器中执行验证来实现这一点?提前致谢!
public function store(FieldRequest $req)
{
$data = $req->all();
Form::create($data);
return redirect()->back()->with('message', 'Success!');
}
当您使用表单请求时,您无需使用 validate()
函数,因为您的请求进入表单请求以验证您的数据,然后它将存储记录