📜  laravel 创建新请求 - PHP (1)

📅  最后修改于: 2023-12-03 14:43:47.158000             🧑  作者: Mango

Laravel 创建新请求 - PHP

在 Laravel 中,请求是非常重要的概念,因为它们是在应用程序内处理用户输入数据的方式。

Laravel 提供了一种创建新请求的简单方法,可以轻松地处理表单数据,并在需要时验证它们。下面是一些可以创建请求的命令:

//创建表单请求
php artisan make:request FormRequestName

//创建API请求
php artisan make:request APIRequestName --json

//创建Ajax请求
php artisan make:request AjaxRequestName --ajax
创建表单请求

要创建表单请求,请使用以下命令:

php artisan make:request FormRequestName

这将在“app/Http/Requests”目录下创建一个新的表单请求类。

接下来,打开生成的 FormRequestName.php 文件,您将看到一个 rules() 方法,该方法用于指定请求应该如何验证其输入数据。

public function rules()
{
    return [
        //
    ];
}

在 rules() 方法中,您可以定义用于验证输入数据的规则。例如,如果您正在创建一个要求“name”字段必须为字符串、必须存在且最大长度是 255 个字符的表单请求,可以将以下代码添加到规则中:

public function rules()
{
    return [
        'name' => 'string|required|max:255',
    ];
}

您还可以定义一个 messages() 方法来指定用于验证失败时显示的消息。

public function messages()
{
    return [
        'name.required' => '名字是必需的',
        'name.max' => '名字不能超过 255 个字符',
    ];
}

要使用新创建的表单请求,请将其作为参数传递给您的控制器方法。使用 validate() 方法,您可以轻松地验证用户输入数据,然后在需要时访问它们。

public function store(FormRequestName $request)
{
    $name = $request->input('name');
    //...
}
创建API请求

如果您正在创建 API 请求,则可以使用 --json 标志来生成支持 JSON 输入的请求。

php artisan make:request APIRequestName --json

这将在“app/Http/Requests”目录下创建一个新的 API 请求类,其输入类型为 JSON。此类还包括一个 messages() 方法,用于指定导致验证失败的消息。

public function messages()
{
    return [
        'name.required' => '名字不能为空',
    ];
}

要使用新创建的 API 请求,请将其作为参数传递给您的控制器方法。使用 validate() 方法,您可以验证 JSON 输入,然后在需要时访问它。

public function store(APIRequestName $request)
{
    $name = $request->input('name');
    //...
}
创建Ajax请求

如果您正在创建 AJAX 请求,则可以使用 --ajax 标志来生成 AJAX 支持的请求。

php artisan make:request AjaxRequestName --ajax

该命令将在“app/Http/Requests”目录下创建一个新的 AJAX 请求类。此类还包括一个 messages() 方法,用于指定导致验证失败的消息。

public function messages()
{
    return [
        'name.required' => '名字不能为空',
    ];
}

要使用新创建的 AJAX 请求,请将其作为参数传递给您的控制器方法。使用 validate() 方法,您可以验证 AJAX 输入,然后在需要时访问它。

public function store(AjaxRequestName $request)
{
    $name = $request->input('name');
    //...
}

以上就是使用 Laravel 创建新请求的方法,希望对你有所帮助。