gpt4 book ai didi

laravel - 在 Laravel 5.5 中验证之前更改 $request 的值

转载 作者:行者123 更新时间:2023-12-04 22:41:07 25 4
gpt4 key购买 nike

我在 route('users.create') 中有一个表格.

我在其 Controller 中将表单数据发送到此函数:

public function store(UserRequest $request)
{

return redirect(route('users.create'));
}

为了验证,我创建了一个类

App\Http\Requests\Panel\Users\UserRequest;
class UserRequest extends FormRequest
{
public function rules()
{
if($this->method() == 'POST') {
return [
'first_name' => 'required|max:250',

有用。

但是我该如何改变 first_name验证之前(以及保存在数据库中之前)的值?

(同样验证失败,我想在 old('first_name') 中看到新数据

更新

我试试这个:
 public function rules()
{
$input = $this->all();


$input['first_name'] = 'Mr '.$request->first_name;
$this->replace($input);

if($this->method() == 'POST') {

它在 if($this->method() == 'POST') { 之前有效但它对验证或 old() 无效功能

最佳答案

覆盖 prepareForValidation() FormRequest的方法.

所以在 App\Http\Requests\Panel\Users\UserRequest :

protected function prepareForValidation()
{
if ($this->has('first_name'))
$this->merge(['first_name'=>'Mr '.$this->first_name]);
}

关于laravel - 在 Laravel 5.5 中验证之前更改 $request 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46615292/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com