mcpField
L
laravel-validation

laravel-validation

github.com/leeovery开发1552 次安装2 周前更新
代码仓库

关于 laravel-validation

面向 Laravel 开发者的开发技能,围绕表单请求组织验证规则,并提供系统化的验证测试模式。它将请求作为验证逻辑的单一来源,并涵盖 DTO 转换。

主要功能

  1. 01数组式与自定义验证规则
  2. 02条件规则与自定义错误消息
  3. 03通过 `toDto()` 转换为 DTO
  4. 04使用 Pest 数据集测试验证
  5. 05嵌套数组与字段存在性测试

适用场景

  1. 01在 Laravel 表单请求中定义验证
  2. 02测试条件输入与嵌套输入规则
  3. 03检查 `present`、`sometimes` 或 `missing` 规则
  4. 04将已验证的请求数据转换为 DTO

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/leeovery/agentic-skills --skill laravel-validation

安装后在 Claude Code 中输入/laravel-validation确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
form-requests.md
macro-setup.md
MacroServiceProvider.php
RequestDataProviderItem.php
validation-testing.md
ValidPostcodeRule.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