laravel-5 - 如何在 laravel 中使用验证更新我的表单?
问题描述
我的表单验证在 Laravel 中不起作用。如何在 Laravel 中使用验证更新我的表单?
你可以在这里查看我的代码-
public function update(Request $request, $id)
{
$id->validate([
'Name'=>'required',
'UserName'=>'required',
'Password'=>'required|min:6',
'email'=>'required|email',
]);
$updateInfo= Info::findOrFail($id);
$updateInfo->user_id = $request->input('user_id');
$updateInfo->Name = $request->input('Name');
$updateInfo->UserName = $request->input('UserName');
$updateInfo->Password = $request->input('Password');
$updateInfo->save();
return redirect('/info');
}
解决方案
你需要在 $request 上调用 validate,像这样-
$request->validate([
'Name'=>'required',
'UserName'=>'required',
'Password'=>'required|min:6',
'email'=>'required|email',
]);
这是完整的代码-
public function update(Request $request, $id)
{
$request->validate([
'Name'=>'required',
'UserName'=>'required',
'Password'=>'required|min:6',
'email'=>'required|email',
]);
if (!$validator->fails()) {
$updateInfo= Info::findOrFail($id);
$updateInfo->user_id = $request->input('user_id');
$updateInfo->Name = $request->input('Name');
$updateInfo->UserName = $request->input('UserName');
$updateInfo->Password = $request->input('Password');
$updateInfo->save();
} else {
\Session::flash('error', $validator->messages()->first());
return redirect()->back()->withInput();
}
return redirect('/info');
}
我在代码中添加了一个条件来处理验证错误。如果验证失败,那么它将使用您的输入以及验证错误消息重定向回来。确保刀片视图中有错误会话闪烁以显示错误。
推荐阅读
- reactjs - Reducer 改变了状态但没有重新渲染
- node.js - npm 调试模块:如何以精美的字体显示对象?
- javascript - BrowserSync:拒绝执行内联脚本,锚标签不起作用
- apache-spark-sql - 分析表计算统计信息 - 未显示统计信息
- swift - UITableView 或 UILabel 在使用委托和协议观察者方法时发现 NIL,因为它在 viewDidLoad 之前调用
- javascript - 试图创造一个弹跳的波纹圆圈效果
- android - 错误:对于 FCM 通知没有回退可绘制的自适应图标,可能会导致 Android Oreo 上的不可逆转的崩溃
- ruby-on-rails - 谷歌日历 API:“你需要有这个日历的作者权限。”
- python - 从 for 循环到数据框的结果,然后到 csv
- javascript - 点击离开或页面内锚链接后如何删除汉堡菜单