Automates the creation of Laravel-style form request validation classes based on field definitions.

Install

mkdir -p .claude/skills/request && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/8587" && unzip -o skill.zip -d .claude/skills/request && rm skill.zip

Installs to .claude/skills/request

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Generate form request validation for CatchAdmin module.
55 charsno explicit “when” trigger
Beginner

Key capabilities

  • Generate Laravel FormRequest classes
  • Map field types to validation rules
  • Handle unique record exclusions
  • Define custom validation messages

How it works

The skill maps field types to predefined validation rules and generates a PHP class file within the CatchAdmin module structure.

Inputs & outputs

You give it
Field definitions and model name
You get back
PHP FormRequest class

When to use request

  • Generating request classes
  • Defining form validation rules
  • Creating API input schemas

About this skill

Step 5: Generate Request Validation

创建表单验证类。

File Location

modules/{Module}/Http/Requests/{Model}Request.php

Template

<?php

namespace Modules\{Module}\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

class {Model}Request extends FormRequest
{
    public function authorize(): bool
    {
        return true;
    }

    public function rules(): array
    {
        return [
            // Generated from field definitions
        ];
    }

    public function messages(): array
    {
        return [
            // Custom messages
        ];
    }
}

Validation Rules Mapping

Field TypeValidation Rule
string(n), required'required|string|max:n'
string(n), nullable'nullable|string|max:n'
integer'sometimes|integer|min:0'
decimal'required|numeric|min:0'
tinyint (status)'sometimes|integer|in:1,2'
foreign_key'required|integer|exists:table,id'
text'nullable|string'
email'required|email|max:100'
date'nullable|date'

Unique Validation

对于更新操作,需要排除当前记录:

public function rules(): array
{
    $id = $this->route('id');
    
    return [
        'email' => "required|email|unique:{table},email,{$id}",
    ];
}

When not to use it

  • Validating non-Laravel applications
  • Complex cross-field validation logic

Prerequisites

CatchAdmin module structure

Limitations

  • Limited to CatchAdmin module structure

How it compares

It automates the creation of boilerplate validation classes based on a schema mapping, rather than manually writing rules.

Compared to similar skills

request side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
request (this skill)06moNo flagsBeginner
pennant-development25moNo flagsIntermediate
extending-shopper14moNo flagsIntermediate
routes16moNo flagsBeginner

Try saying

Example prompts that trigger this skill in your AI assistant.

Search skills

Search the agent skills registry