关于 laravel-validation
面向 Laravel 开发者的开发技能,围绕表单请求组织验证规则,并提供系统化的验证测试模式。它将请求作为验证逻辑的单一来源,并涵盖 DTO 转换。
主要功能
- 01数组式与自定义验证规则
- 02条件规则与自定义错误消息
- 03通过 `toDto()` 转换为 DTO
- 04使用 Pest 数据集测试验证
- 05嵌套数组与字段存在性测试
适用场景
- 01在 Laravel 表单请求中定义验证
- 02测试条件输入与嵌套输入规则
- 03检查 `present`、`sometimes` 或 `missing` 规则
- 04将已验证的请求数据转换为 DTO
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ leeovery/ agentic-skills --skill laravel-validation安装后在 Claude Code 中输入/laravel-validation确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/form-requests.mdmacro-setup.mdMacroServiceProvider.phpRequestDataProviderItem.phpvalidation-testing.mdValidPostcodeRule.php详细介绍
Laravel Validation
将表单请求作为验证的唯一事实来源,并采用全面的测试模式。
核心概念
form-requests.md — 验证规则:
- 基于数组的验证规则
- 自定义验证规则
- 条件验证
- 自定义错误消息
- 通过
toDto()转换为 DTO
validation-testing.md — 验证测试:
- RequestDataProviderItem 辅助工具
- 用于系统化测试的 Pest 数据集
- 内置辅助方法(字符串、电子邮件、数字、日期、数组、布尔值)
- 使用
absent()测试存在性(适用于present/sometimes/missing规则) - 嵌套数组测试
- 条件验证测试
- 真实场景示例
模式
final class CreateOrderRequest extends FormRequest
{
public function rules(): array
{
return [
'user_id' => ['required', 'integer', 'exists:users,id'],
'items' => ['required', 'array', 'min:1'],
'items.*.product_id' => ['required', 'integer'],
'items.*.quantity' => ['required', 'integer', 'min:1'],
];
}
public function toDto(): CreateOrderDto
{
return CreateOrderDto::from($this->validated());
}
}
所有验证都在表单请求中进行。系统化地测试验证。
评论
支持 Markdown