본문으로 건너뛰기
cccskills
무료GitHub에 공개

laravel-validation

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.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(1)

  • SKILL.md3.2 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

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

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Use when reviewing UI for accessibility — WCAG 2.2 AA, keyboard nav, focus, ARIA, contrast, screen-reader semantics — even on 'is this a11y-OK?' or 'mach das barrierefrei'.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

event4u-app/agent-config122026년 10월 21일 업데이트

Use when defining or auditing the activation event — aha-moment selection, retention correlation, falsifiable definition. Triggers on 'what is our aha moment', 'redefine activation'.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

event4u-app/agent-config122026년 10월 21일 업데이트

Use when capturing an architectural decision — file naming, next ADR number, Status / Context / Decision / Consequences, index regen; fires even without saying 'ADR'.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

event4u-app/agent-config122026년 10월 21일 업데이트

Adversarial critique — devil's advocate, stress-test, honest teardown ('poke holes', 'be brutal', 'was hältst du davon'); explicit request only. Routine code or design review → code-review.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

event4u-app/agent-config122026년 10월 21일 업데이트

Use when reading, creating, or updating agent documentation, module docs, roadmaps, or AGENTS.md. Understands the full .augment/, agents/, and copilot-instructions structure.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

event4u-app/agent-config122026년 10월 21일 업데이트

Use for an adversarial red-team / blue-team / auditor review of an AI agent's CONFIG + behaviour (rules, skills, MCP, hooks, permissions) — attack-chain → defensive-gap list, not a code audit.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

event4u-app/agent-config122026년 10월 21일 업데이트

event4u-app의 스킬 모두 보기

이 스킬의 문제 신고