Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
request
jaguarjack/catchadmin
claude-code
framework
modules
management
permissions
catchadmin

Generate form request validation for CatchAdmin module.

Install
php artisan boost:add-skill jaguarjack/catchadmin

Save this content to: .claude/skills/05-request/SKILL.md

# Step 5: Generate Request Validation

创建表单验证类。

## File Location

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

## Template

```php
<?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 Type | Validation 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

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

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

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 Type Validation 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}",
    ];
}
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
frankyso/ipaymu
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core