如何在 Laravel 5.5 中验证 Laravel json 对象请求

The*_*AST 1 php laravel laravel-validation

如何验证laravel请求对象,我有这个条件

request()->validate([
                'avatar' => 'required|image',
                'display_name' => 'required|min:3|max:100',
                'role_id'      => 'required|integer',
                'username' => 'required|unique:users|min:4|max:15',
                'email'        => 'required|email|unique:users',
                'phone_number' => 'required|min:3',
                'password'     => 'required|min:6',
                'country_id' => 'required|integer'
]);
Run Code Online (Sandbox Code Playgroud)

但在我的请求中,它以对象形式存储,我应该怎么做才能使验证工作?

在此输入图像描述

cat*_*con 5

您可以像验证多维数组一样验证它:

request()->validate([
    'form.avatar' => 'required|image',
    'form.display_name' => 'required|min:3|max:100',
    'form.role_id'      => 'required|integer',
    'form.username' => 'required|unique:users|min:4|max:15',
    'form.email'        => 'required|email|unique:users',
    'form.phone_number' => 'required|min:3',
    'form.password'     => 'required|min:6',
    'form.country_id' => 'required|integer'
]);
Run Code Online (Sandbox Code Playgroud)

如果您的表单是对象数组,则可以使用通配符

request()->validate([
    'form.*.avatar' => 'required|image',
    'form.*.display_name' => 'required|min:3|max:100',
    'form.*.role_id'      => 'required|integer',
    'form.*.username' => 'required|unique:users|min:4|max:15',
    'form.*.email'        => 'required|email|unique:users',
    'form.*.phone_number' => 'required|min:3',
    'form.*.password'     => 'required|min:6',
    'form.*.country_id' => 'required|integer'
]);
Run Code Online (Sandbox Code Playgroud)