簡體   English   中英

Laravel FormRequest 獲取輸入值

[英]Laravel FormRequest get input value

我嘗試使用 FormRequest:

class RegistrationForm extends FormRequest
{
    public function authorize()
    {
        return true;
    }

    public function rules()
    {
        return [
            'name'=>'required',
            'email'=>'required|email',
            'password'=>'required|confirmed'
        ];
    }

    public  function persist(){
        $user=new User();
        $user->name=$this->only(['name']);
        $user->email=$this->only(['email']);
        dd($this->only(['password']);
        auth()->login($user);
    }
}

我需要從我的請求中獲取 persist() 方法輸入值。 我試圖獲得“密碼”值,但我得到了數組。 如何像字符串一樣獲取輸入值?

您可以使用input()函數獲取值:

public function persist() {
    $user = new User();
    $user->name = $this->input('name');
    $user->email = $this->input('email');
    dd($this->input('password'));
    auth()->login($user);
}

Ps:我建議你在控制器中而不是在請求類中做你的邏輯。

使用array_get方法。

$value = array_get($your_array, 'key_name');

PSarray_get接受第三個參數,當在給定數組中找不到給定鍵時返回該參數。

根據文檔 FormRequest::only 將返回數組類型數據。 您需要從該數組中提取值。

表單請求::僅

表單請求類擴展了請求類,因此您可以使用 $this 引用當前請求(和任何方法),即 $this->input('password')。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM