Laravel Dry Requests 使用教程
项目介绍
Laravel Dry Requests 是一个用于 Laravel 框架的包,它允许你在不实际执行请求的情况下检查请求是否能通过验证。这个包类似于 CLI 工具中的 --dry-run
标志,或者一些开发者称之为“预检请求”。通过使用这个包,你可以在用户输入表单时击中端点,并获得实时反馈,确保验证的准确性。
项目快速启动
安装
首先,通过 Composer 安装 Laravel Dry Requests 包:
composer require dive-be/laravel-dry-requests
配置
发布配置文件:
php artisan vendor:publish --provider="Dive\DryRequests\DryRequestsServiceProvider"
使用示例
在你的表单请求类中使用 DryRunnable
特性:
use Dive\DryRequests\DryRunnable;
use Illuminate\Foundation\Http\FormRequest;
class StoreUserRequest extends FormRequest
{
use DryRunnable;
public function rules(): array
{
return [
'email' => ['required', 'email', 'max:255', 'unique:users'],
'username' => ['required', 'string', 'min:2', 'max:255', 'unique:users'],
'nickname' => ['nullable', 'string', 'min:2', 'max:255'],
];
}
}
在前端发送请求时,添加 X-Dry-Run: true
头部:
axios.post('/users', {
email: 'example@example.com',
username: 'example',
nickname: 'nick'
}, {
headers: {
'X-Dry-Run': 'true'
}
}).then(response => {
console.log(response.status); // 200 OK
});
应用案例和最佳实践
实时表单验证
在用户填写表单时,实时检查输入是否符合验证规则,提供即时反馈,提升用户体验。
多步骤表单验证
对于多步骤表单,可以在每个步骤提交前进行预检,确保最终提交时不会因为验证失败而中断。
典型生态项目
Laravel Precognition
由于 Laravel Dry Requests 包已被官方的 Laravel Precognition 功能取代,建议迁移到 Laravel Precognition 以获得更全面的支持和维护。
其他相关包
- Laravel Validation: Laravel 框架自带的验证功能,与 Laravel Dry Requests 结合使用,可以实现更复杂的验证逻辑。
- Laravel Form Request: 用于定义表单请求的类,结合 Laravel Dry Requests 可以更方便地管理验证规则。
通过以上步骤,你可以快速上手并应用 Laravel Dry Requests 包,提升你的 Laravel 应用的表单验证体验。