Php 拉拉维尔请求

Php 拉拉维尔请求,php,laravel,validation,Php,Laravel,Validation,我对拉威尔和制作API还不熟悉。在我的项目中,使用我创建的查询进行数据验证不起作用。例如,当我尝试创建一个具有空字段的用户时,我会得到状态为200的主页。请告诉我如何修复此错误。我将向您展示route api.php和应用我创建的请求的一个控制器 AuthController: <?php namespace App\Http\Controllers; use App\Http\Requests\UserCreateRequest; use App\Http\Requests\User

我对拉威尔和制作API还不熟悉。在我的项目中,使用我创建的查询进行数据验证不起作用。例如,当我尝试创建一个具有空字段的用户时,我会得到状态为200的主页。请告诉我如何修复此错误。我将向您展示route api.php和应用我创建的请求的一个控制器

AuthController:

<?php

namespace App\Http\Controllers;

use App\Http\Requests\UserCreateRequest;
use App\Http\Requests\UserLoginRequest;
use Egulias\EmailValidator\Exception\AtextAfterCFWS;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Http\Request;
use Illuminate\Database\Eloquent\Builder;
use App\Models\User;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Str;
use phpDocumentor\Reflection\DocBlock\Tags\Uses;

class AuthController extends Controller
{
    public function store(UserCreateRequest $request){
        $user               = new User();
        $user->login        = $request->get('login');
        $user->password     = Hash::make($request->get('password'));
        $user->fio          = $request->get('fio');
        $user->email        = $request->get('email');
        $user->number_phone = $request->get('number_phone');
        $user->assignRole('user');

        if (!$user->save()) {
            return response()->json(['message'=>'Регистрация не удалась'], 422);
        }

        return response()->json(['message'=> 'Регистрация прошла успешно'], 200);
    }

    public function login(UserLoginRequest $request){

        $user = User::query()->where('login', $request->get('login'))->first();
        if (!$user || !Hash::check($request->get('password'), $user->password)) {
            return response()->json(['message'=>'Попытка входа не удалась'], 422);
        }

        $token = $user->createToken('api_token')->plainTextToken;
        $user->api_token = $token;
        $user->save();
        $user = Auth::login($user);

        return response()->json(['message'=>Auth::user()->api_token], 200);
    }

    public function logout(Request $request) {
        $request->user()->currentAccessToken()->delete();

        return response()->json(['message' => 'Вы вышли из системы'], 200);
    }
}

<?php

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

class UserCreateRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'login'                 => 'required|string|unique:user,login',
            'password'              => 'required|string|min:8|max:30',
            'fio'                   => 'required|string',
            'email'                 => 'required|email|string',
            'number_phone'          => 'required|string|min:10'
        ];
    }

    public function messages()
    {
        return [
          'login.required'          => 'Поле "Логин" обязательно',
          'login.string'            => 'Поле "Логин" должно содержать только буквы и цифры',
          'login.unique:user,login' => 'Логин должен быть уникальным',

          'password.required'       => 'Поле "Пароль" обязательно',
          'password.string'         => 'Поле "Пароль" должно содержать только буквы и цифры',
          'password.min:8'          => 'Поле "Пароль" должно содержать не менее 8 символов',
          'password.max:30'         => 'Поле "Пароль" должно содержать не более 30 символов',

          'fio.required'            => 'Поле "ФИО пользователя" обязательно',
          'fio.sring'               => 'Поле "ФИО пользователя" должно содержать только буквы и цифры',

          'email.required'          => 'Поле "Email" обязательно',
          'email.email'             => 'Поле "Email" должно соответствовать своему типу',
          'email.string'            => 'Поле "Email" должно содержать только буквы и цифры',

          'number_phone.required'   => 'Поле "Номер телефона" обязательно',
          'number_phone.string'     => 'Поле "Номер телефона" должно содержать только буквы и цифры',
          'number_phone.min:10'     => 'Поле "Номер телефона" должно содержать не менее 10 символов',
        ];
    }
}

换衣服

$request->get('login') 

还是这个

$request->login

。你能给我看看用户模型吗?还有,dd($request->all())的结果是什么,把它放在存储函数的第一行我还不能编辑我的答案。它表示建议的编辑队列已满。我尝试了dd($request->all())。结果是一样的。如果用户创建请求更改为Request,那么我将从formI show to User模型获取数据
$request->get('login') 
$request->input('login')
$request->login