laravel 表单验证实现多个字段组合后唯一
(编辑:jimmy 日期: 2026/3/5 浏览:3 次 )
Laravel 表单验证器的几种使用方法
1、使用控制器的 validate 方法进行参数验证
/**
* 保存一篇新的博客文章。
*
* @param Request $request
* @return Response
*/
public function store(Request $request)
{
$this->validate($request, [
'title' => 'required|unique:posts|max:255',
'body' => 'required',
]);
// 文章内容是符合规则的,存入数据库
}
2、手动创建验证器实例进行验证
使用默认的验证信息
/**
* 保存一篇新的博客文章。
*
* @param Request $request
* @return Response
*/
public function store(Request $request)
{
$rules = [
'title' => 'required|unique:posts|max:255',
'body' => 'required',
];
$validator = Validator::make($request->all(), $rules);
if ($validator->fails()) {
return redirect('post/create')->withErrors($validator)->withInput();
}
// 文章内容是符合规则的,存入数据库
}
使用自定义的验证信息
/**
* 保存一篇新的博客文章。
*
* @param Request $request
* @return Response
*/
public function store(Request $request)
{
$rules = [
'title' => 'required|unique:posts|max:255',
'body' => 'required',
];
$messages = [
'title.required' => '请填写文章标题',
'title.unique' => '文章标题不能重复',
'title.max' => '文章标题不能超过255个字符',
'body.required' => '请填写文章内容',
];
$validator = Validator::make($request->all(), $rules, $messages);
if ($validator->fails()) {
return redirect('post/create')->withErrors($validator)->withInput();
}
// 文章内容是符合规则的,存入数据库
}
3、创建表单请求进行验证
创建表单请求文件:php artisan make:request ExampleRequest
表单请求文件内容:
<"htmlcode"><"htmlcode">where[] = ['parentId','=',where[]=[′parentId ′,′ = ′,this->request->get('parentId')]; return [ 'menuTitle' => ['required', 'max:32','min:2',Rule::unique('admin_menu','menuTitle')->where(function($query)use($where){ $query->where($where)->whereNull('deleted_at'); })->ignore($id) ], 'menuTitleEn' => ['required', 'max:32','min:2',Rule::unique('admin_menu','menuTitleEn')->where(function($query)use($where){ $query->where($where)->whereNull('deleted_at'); })->ignore($id) ], 'menuRoute' => ['required',Rule::unique('admin_menu','menuRoute')->ignore($id)], 'menuIcon' => ['required', 'min:2','max:32'], 'routeName' => ['sometimes', 'min:2','max:32'], 'parentId' => ['required','numeric'], 'order'=>['sometimes','numeric'] ];
下一篇:PHP超级全局变量、魔术变量和魔术函数汇总整理
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。