2 回答

TA貢獻(xiàn)1793條經(jīng)驗(yàn) 獲得超6個(gè)贊
您實(shí)際上可以在訪(fǎng)問(wèn)控制器之前驗(yàn)證數(shù)據(jù)。它更安全,您將擁有更清晰的代碼。首先,創(chuàng)建您的自定義請(qǐng)求驗(yàn)證:
php artisan make:request UserRequest
這將創(chuàng)建一個(gè)空UserRequest類(lèi),您可以在其中驗(yàn)證數(shù)據(jù):
class UserRequest extends FormRequest
{
public function authorize()
{
return true;
}
//Validate your data here
public function rules()
{
return [
'phone' => 'required|unique:users',
'fname' => 'required',
'lname' => 'required',
];
}
//Add custom message if validation fails
public function messages()
{
return [
'phone.required' => 'Phone is required.',
'phone.unique' => 'Phone number should be unique.',
'fname.unique' => 'First name is required.',
'lname.required' => 'Last name is required.',
];
}
}
您現(xiàn)在要做的就是在控制器中導(dǎo)入此自定義驗(yàn)證:
public function update(UserRequest $request)
{
$user_id = Auth::user()->id;
User::where('id', $user_id)->update([
'phone' => $request->phone,
'fname' => $request->fname,
'lname' => $request->lname
]);
return;
}

TA貢獻(xiàn)1898條經(jīng)驗(yàn) 獲得超8個(gè)贊
有一個(gè)問(wèn)題。那就是 'phone' => 'unique:App\User,phone,' 。$用戶(hù)->電話(huà), 線(xiàn)路。
您的代碼:
您需要在保存到數(shù)據(jù)庫(kù)之前驗(yàn)證請(qǐng)求
public function update(Request $request)
{
$user = Auth::user();
$request->validate([
// unique:table,column,except,idColumn
'phone' => 'unique:App\User,phone,' . **$user->phone**,
]);
$user_id=Auth::user()->id;
User::where('id', $user_id)->update([
'phone' => $request->phone,
'fname' => $request->fname,
'lname' => $request->lname
]);
return;
}
I hope it helps you.
這會(huì)產(chǎn)生問(wèn)題。你應(yīng)該使用$this->phone。
公共功能更新(請(qǐng)求 $request){ $user = Auth::user();
$request->validate([
// unique:table,column,except,idColumn
'phone' => 'unique:App\User,phone,' . $this->phone,
]);
$user_id=Auth::user()->id;
User::where('id', $user_id)->update([
'phone' => $request->phone,
'fname' => $request->fname,
'lname' => $request->lname
]);
return;
}
試試這個(gè)。
- 2 回答
- 0 關(guān)注
- 198 瀏覽
添加回答
舉報(bào)