首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在laravel 5.5中验证之前更改$request的值

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

Stack Overflow用户
提问于 2017-10-07 07:45:15
回答 3查看 11.8K关注 0票数 7

我有一个route('users.create')格式的表单。

我将表单数据发送到此函数的contoller中:

代码语言:javascript
复制
public function store(UserRequest $request)
{

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

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

App\Http\Requests\Panel\Users\UserRequest;

代码语言:javascript
复制
class UserRequest extends FormRequest
{
    public function rules()
    {
        if($this->method() == 'POST') {
             return [
                 'first_name' => 'required|max:250',

它起作用了。

但是,如何在验证之前(以及在保存到数据库之前)更改first_name值?

(对于失败的验证,我还希望在old('first_name')中看到新数据

更新

我试试这个:

代码语言:javascript
复制
 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()函数没有影响

EN

回答 3

Stack Overflow用户

发布于 2018-02-26 15:38:41

重写FormRequestprepareForValidation()方法。

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

代码语言:javascript
复制
protected function prepareForValidation()
{
    if ($this->has('first_name'))
        $this->merge(['first_name'=>'Mr '.$this->first_name]);
}
票数 25
EN

Stack Overflow用户

发布于 2017-10-07 08:24:25

为什么不在控制器中进行验证呢?然后,您可以在验证之前更改内容,并在验证之后执行数据库操作。

代码语言:javascript
复制
public function store(Request $request)
{
    $request->first_name = 'Mr '.$request->first_name;

    Validator::make($request->all(), [
        'first_name' => 'required|max:250',
    ])->validate();

    // ToDo save to DB

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

另请参阅https://laravel.com/docs/5.5/validation

票数 0
EN

Stack Overflow用户

发布于 2022-01-29 16:17:01

只需使用

代码语言:javascript
复制
$request->merge(['New Key' => 'New Value']);

在您的情况下,可以如下所示进行保存

代码语言:javascript
复制
$this->merge(['first_name'=>'Mr '.$this->first_name]);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46615292

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档