Przejdź do treści
Biblioteka skilli
Programowanie · Budowanie i kod

laravel-validation

/laravel-validation

Pisze walidację w Laravelu: Form Requests, reguły, własne obiekty reguł i projekt granicy żądania, także gdy użytkownik prosi tylko o sprawdzenie danych wejściowych.

Repozytorium
agent-config ↗
Licencja
MIT
Ostatnia zmiana repozytorium
26.10.2026

Ocena i bezpieczeństwo

90/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść25 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
1
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
0
Przestarzałość

Brak sygnałów. Repozytorium zmienione 26.10.2026, bez odwołań do wycofanych modeli i API.

Licencja

MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.

Co robi i kiedy

Pisze walidację w Laravelu: Form Requests, reguły, własne obiekty reguł i projekt granicy żądania, także gdy użytkownik prosi tylko o sprawdzenie danych wejściowych.

Wyzwalacze z opisu

validate this inputcheck the request
Oryginalny opis (EN)

When writing validation — Form Requests, rules, custom rule objects, request-boundary design — even when the user just says 'validate this input' or 'check the request' without naming it.

Jak działa

  1. When to use
  2. Procedure: Create a FormRequest
  3. Conventions
  4. Output format
  5. Gotcha
  6. Do NOT
  7. Verification
  8. Anti-bruteforce — diagnose before retry
  9. Clarification guard — ambiguous field → ask
  10. Auto-trigger keywords
Sekcje z nagłówków SKILL.md, w oryginale · 79 linii, 434 słów
Podgląd SKILL.md
---
model_tier: medium
name: laravel-validation
description: "When writing validation — Form Requests, rules, custom rule objects, request-boundary design — even when the user just says 'validate this input' or 'check the request' without naming it."
domain: engineering
workspaces:
  - engineering
packs:
  - laravel
trust:
  level: professional
install:
  default: false
  removable: true
---

# laravel-validation

## When to use

Use when creating FormRequests, validation rules, or custom rule objects.

Do NOT use when:
- Authorization logic only (use `security` skill)
- API response format (use `api-design` skill)

## Procedure: Create a FormRequest

### Step 0: Inspect

1. Check existing FormRequests — match style, naming, authorization, rule structure.
2. Check existing custom rules — reuse before creating new ones.
3. Check API error response format — match it.

### Step 1: Create the class

1. Name: `{Action}{Entity}Request` — e.g. `CreateProjectRequest`.
2. Implement `authorize()` using Policies.
3. Implement `rules()` with array syntax — never pipe-separated.
4. Use `prepareForValidation()` only when normalization is truly necessary.

### Step 2: Rules

1. Use Laravel's `Illuminate\Validation\Rules` classes where possible.
2. Keep rules explicit — prefer clarity over cleverness.
3. For nested arrays: validate structure AND leaf values.
4. Extract custom rule objects for complex/reusable logic.

### Step 3: Test

- Test required fields, invalid formats, boundary conditions, conditional rules.
- Test authorization where relevant.
- Use focused tests per validation concern.

## Conventions

→ See guideline `php/validations.md` for array syntax, route params, property mapping, custom rules.

## Output format

1. FormRequest class with rules, messages, and authorization
2. Custom Rule object if validation logic is complex

## Gotcha

- `required` ≠ not `nullable` — `required` means present, `nullable` means value can be null.
- Custom Rule objects must return `$fail` callback, not throw exceptions.
- Don't validate data you already trust (e.g., from a verified internal service).

## Do NOT

- Do NOT validate in controllers — use FormRequest classes.
- Do NOT use `$request->all()` — use `$request->validated()`.
- Do NOT put business logic in validation classes.

## Verification

Confirm new rules with a concrete probe: a Pest feature test that POSTs with `curl`-shaped payloads through the browser/HTTP client, or a `phpunit`/`pest` run against the FormRequest. Add at least one negative case per rule (missing, wrong type, boundary). Never claim rules work without running them.

## Anti-bruteforce — diagnose before retry

When a rule fires unexpectedly, do not blindly toggle `required` / `nullable` / `sometimes` until tests pass. Print `$request->all()` once, compare against the rule set, identify the root cause, then make a targeted fix.

## Clarification guard — ambiguous field → ask

If a field's intent is unclear (is `tags` a CSV string, an array, or JSON? is `email` required at create or only at update?), ask the user or check the existing schema / API contract before guessing. Hidden assumptions in validation rules surface as production 422s.

## Auto-trigger keywords

- validation
- Form Request
- validation rules
- custom rule

Wersje

W bazie nie ma innych skilli o nazwie laravel-validation.

Migawka bazy z 28.10.2026 · wersja paczki caba67871cee (skrót SHA-256 całej paczki)

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 90request-validation
    Waliduje żądania na granicy systemu za pomocą schematów, odrzuca nieznane pola i zwraca klientom błędy, na które mogą zareagować.
  • 100infer-conventions
    Analizuje, jak naprawdę napisana jest aplikacja Laravel, i zapisuje jej konwencje jako wspólne reguły w .ai/rules, rozstrzygając mieszane wzorce, na przykład Form Requests czy walidację inline.
  • 100laravel-pennant
    Pomaga pracować z flagami funkcji w Laravel Pennant: stopniowe wdrożenia, testy A/B i flagi zakresowe, także gdy prośba brzmi „ukryj to za flagą”.
  • 90project-analysis-laravel
    Analizuje projekt Laravel dogłębnie: przebieg startu, cykl życia żądania, kontener, Eloquent i przepływ danych, systemy asynchroniczne oraz typowe wzorce awarii.
  • 100laravel-conventions
    Zbiera konwencje projektów Laravel: wzorzec Action, Form Requests, Policies, routing, integracja Inertia i styl kodu, przy pisaniu lub przeglądzie backendu.
  • 90laravel:code-review-requests
    Pomaga przygotować skuteczne prośby o przegląd kodu Laravel, z zakresem, kontekstem i pytaniami o architekturę.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.