[英]How to get other field value from Laravel FormRequest Validation
[英]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');
PS : array_get
接受第三個參數,當在給定數組中找不到給定鍵時返回該參數。
根據文檔 FormRequest::only 將返回數組類型數據。 您需要從該數組中提取值。
表單請求類擴展了請求類,因此您可以使用 $this 引用當前請求(和任何方法),即 $this->input('password')。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.