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')}}"> <!-- scrf生成令牌 --> @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