laravel表单验证
1.创建表单
@if(count($errors)) 错误提示信息:{{$errors->first()}} @endif() @if(count($errors)) @foreach($errors->all() as $key=>$value) 错误信息{{$key}}:{{$value}}<br /> @endforeach @endif() <form name="create_from" method="post" action="{{url('student/create')}}"> @csrf <table> <tr> <td colspan="3">新增td> tr> <tr> <td>姓名td> <td><input type="text" name="student[name]" id="name" value="{{old('student')['name']}}">td> <td>{{ $errors->first('student.name') }}td> tr> <tr> <td>性别td> <td> <select name="student[sex]"> <option value="1">男option> <option value="2">女option> select> td> <td>td> tr> <tr> <td>年龄td> <td><input type="text" name="student[age]" id="age" value="{{old('student')['age']}}" maxlength="2">td> <td>{{ $errors->first('student.age') }}td> tr> <tr> <td colspan="3"> <input type="submit" value="添加"> td> tr> table> form>
2.校验数据
if($request->isMethod('POST')) {
$validdtor = \Validator::make($request->post(), [
'student.name' => 'required|min:2|max:20',
'student.age' => 'required|integer',
'student.sex' => 'required|integer',
],[
'required' => ':attribute 不能为空',
'min' => ':attribute 输入内容过短',
'max' => ':attribute 输入内容过长',
'integer' => ':attribute 应为整数',
],[
'student.name' => '姓名',
'student.sex' => '性别',
'student.age' => '年龄',
]);
}
//判断是否失败
if ($validdtor->fails()){
//返回到上次请求并返回错误信息
return redirect()
->back()
->withErrors($validdtor)
->withInput(); //withInput与模板文件中的old方法配合使用,实现数据持久化
}
//输出第一个错误信息并返回json数据
//$errors = $validdtor->errors();
//$error_msg = $errors->first(); //获取第一个错误
//return response()->json(['code'=>400,'message'=>$error_msg]);
校验规则可以写到表单验证文件中,可以用命令创建文件:php artisan make:request student,该命令生成的文件目录为:app\Http\Requests,具体使用规则请查看文档。
其他校验方式请查看文档。
表单验证器文档:https://learnku.com/docs/laravel/8.x/validation/9374
csrf文档:https://learnku.com/docs/laravel/8.x/csrf/9367
【版权申明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) https://www.cnblogs.com/facetwitter/p/15790097.html