1. 快速验证
      1. 首先,创建两个路由:一个表单,一个处理表单;

    //表单页
    Route::get(‘task/form’, ‘TaskController@form’);
    //接收页
    Route::post(‘task/receive’, ‘TaskController@receive’);

    b. 表单,我们先采用用户名和密码来演示验证;


    @csrf
    用户名:
    密码:

    c. 表单处理页,通过Request对象来实现字段验证,注释写了执行流程;
    public function receive(Request $request){
    //验证请求方式
    //左边为验证字段,右边为验证规则,每个规则竖线隔开
    //比如 required 不得为空,min不得小于,max不得大于
    $request->validate([
    ‘username’ => ‘required|min:2|max:10’,
    ‘password’ => ‘required|min:6’
    ]);

    1. //只有通过才能执行下面的语句,否则返回表单页<br /> return '恭喜验证通过!';<br /> }

    d. 如果验证没有被通过,会自动重定向到提交页,并将错误信息存储到session中;
    @if($errors->any())


      @foreach($errors->all() as $error)
    • {{$error}}

    • @endforeach

    @endif

    PS: 内部操作是通过中间件:Illuminate\View\Middleware\ShareErrorsFromSession;

    e. 也可以单独设置错误信息,使用@error指令
    @error(‘username’)

    {{$message}} : 用户名非法!

    @enderror

    1. @error('password')<br /> <div>{{$message}} : 密码非法!</div><br /> @enderror

    f. 关于规则,还有其它写法,具体如下;
    //数组方式验证
    $request->validate([
    ‘username’ => [‘required’, ‘min:2’, ‘max:10’],
    ‘password’ => [‘required’, ‘min:6’]
    ]);