laravel FormRequest 验证问题

问题按照评论区大佬方案已解决

非 ajax 表单验证错误会跳转的。

估计是跳转到首页,而你首页是空白的。

dd(request()->ajax())


添加请求头:X-Requested-With: XMLHttpRequest

添加请求头:Accept:application/json告诉服务器期望接收到的数据类型是json格式也可以

1. 运行环境

Ng 1.27
laravel 11
PHP 版本:8.3
MacOS 15
开发环境

2. 问题描述?

FormRequest 验证问题

  • router
Route::post('/register', [AuthController::class, 'register']);
  • AuthController
namespace App\Http\Controllers;

use App\Http\Requests\RegisterRequest;
use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;

public  function  register(RegisterRequest $request, User $user)
{
    $user->name = $request->input('name');
    $user->email = $request->input('email');
    $user->password = Hash::make($request->input('password'));
    $user->save();

    return response()->json([
        'code' => 0,
        'message' => '用户注册成功',
        'user' => $user
    ], 201);
}
  • RegisterRequest
namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

class RegisterRequest extends FormRequest
{
    public function authorize(): bool
    {
        return true;
    }

    public function rules(): array
    {
        return [
            'name' => ['required', 'between:3,20', 'regex:/^[a-z]\w+$/i', 'unique:users,name'],
            'email' => ['required', 'email', 'unique:users,email'],
            'password' => ['required', 'between:5,20', 'confirmed'],
        ];
    }
}

图片一直弄不上来 使用apifox模拟请求结果就只看到了200状态码
响应参数那是空白
能知道的就是确实进行了验证 在rules方法内可以截取到数据

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

非ajax表单验证错误会跳转的。

估计是跳转到首页,而你首页是空白的。

dd(request()->ajax())


添加请求头:X-Requested-With: XMLHttpRequest

4个月前 评论
肌无力猛男 (楼主) 4个月前
讨论数量: 15

public function authorize(): bool { return true; }

true 改为 false , 注册不需要验证

4个月前 评论
肌无力猛男 (楼主) 4个月前
肌无力猛男 (楼主) 4个月前
deatil (作者) 4个月前

你这里代码返回的201,最后apifox收到是200。那打个断点看下有进到这个方法吗

4个月前 评论
肌无力猛男 (楼主) 4个月前
肌无力猛男 (楼主) 4个月前
神的孩子丶都在跳舞 (作者) 4个月前
肌无力猛男 (楼主) 4个月前
神的孩子丶都在跳舞 (作者) 4个月前
肌无力猛男 (楼主) 4个月前
神的孩子丶都在跳舞 (作者) 4个月前
肌无力猛男 (楼主) 4个月前

非ajax表单验证错误会跳转的。

估计是跳转到首页,而你首页是空白的。

dd(request()->ajax())


添加请求头:X-Requested-With: XMLHttpRequest

4个月前 评论
肌无力猛男 (楼主) 4个月前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!