【问题标题】:Laravel 7 Passport Api ValidationLaravel 7 护照 API 验证
【发布时间】:2020-11-12 03:07:31
【问题描述】:

我创建了一个 Laravel 登录护照 API,但是当提供的电子邮件为“null”或密码为 null 时,它不会显示需要验证的错误。它正在返回某些内容的 html?

这是我的控制器代码:

<?php

namespace App\Http\Controllers\Api;
use\App\User;
use Illuminate\Support\Facades\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Validation\ValidationException;



class AuthController extends Controller
{
   public function login(Request $request)
   {
      $loginData= $request->validate([
           'email'=>'required',
           'password'=>'required',
       ]);
      
       if(!auth()->attempt($loginData))
       {
           return response()->json(['message'=>'Invalid credientails']);
       }
       $accessToken =auth()->user()->createToken('authToken')->accessToken;
       return response()->json(['user'=>auth()->user(),'access_Token'=>$accessToken]); 
   }
}

【问题讨论】:

    标签: php laravel laravel-passport laravel-validation laravel-api


    【解决方案1】:

    试试这个

    另外请确保在控制器中包含类验证器-> 使用验证器;

    $validator = Validator::make($request->all(), [ 
           'email'=>'required',
           'password'=>'required',
        ]);
    
        if ($validator->fails())
        { 
            $message = $validator->errors()->first();
            return response()->json(['statusCode'=>200,'success'=>false,'message'=>$message], 200);            
        }
    

    【讨论】:

    • 注意:当点击登录 api 或任何 api 时,请确保在请求中添加 Content-Type:application/json。
    猜你喜欢
    • 2019-05-21
    • 2019-03-01
    • 2019-06-14
    • 2018-06-16
    • 1970-01-01
    • 2017-01-06
    • 2019-02-28
    • 1970-01-01
    • 2017-12-19
    相关资源
    最近更新 更多