laravel-validation について
Laravel 開発者向けに、フォームリクエストを検証ルールの基準として扱い、体系的なテスト方法も示す開発スキルです。DTO への変換を含む検証パターンを扱います。
主な機能
- 01配列形式とカスタム検証ルール
- 02条件付きルールとカスタムエラーメッセージ
- 03`toDto()` による DTO 変換
- 04Pest データセットを使った検証テスト
- 05ネスト配列とフィールド有無のテスト
活用シーン
- 01Laravel のフォームリクエストで検証を定義
- 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 のバリデーション
フォームリクエストをバリデーションの唯一の信頼できる情報源として使用し、包括的なテストパターンを適用します。
コアコンセプト
form-requests.md - バリデーションルール:
- 配列形式のバリデーションルール
- カスタムバリデーションルール
- 条件付きバリデーション
- カスタムエラーメッセージ
toDto()による DTO 変換
validation-testing.md - バリデーションのテスト:
- RequestDataProviderItem ヘルパー
- 体系的なテストのための Pest データセット
- 組み込みヘルパーメソッド(string、email、number、date、array、boolean)
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 対応