🧱 Π‘ΡƒΡ‚ΡŒ

Валидация позволяСт ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ входящиС Π΄Π°Π½Π½Ρ‹Π΅ Π΄ΠΎ выполнСния основной Π»ΠΎΠ³ΠΈΠΊΠΈ.

Если Π΄Π°Π½Π½Ρ‹Π΅ Π½Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ, Laravel автоматичСски ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ.

πŸ“¦ ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ°

Π‘Π΅Π· Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ:

  • пустыС ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля;
  • Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Π΅ email ΠΈΠ»ΠΈ URL;
  • ошибки ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ прилоТСния.

βœ… РСшСниС

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ встроСнный ΠΌΠ΅Ρ‚ΠΎΠ΄ validate().

ΠŸΡ€Π°Π²ΠΈΠ»Π° ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ:

  • строкой;
  • массивом.
    Π’ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ массив.

πŸ’» Код

Π‘Ρ‚Ρ€ΠΎΠΊΠ°

$request->validate([
    'email' => 'required|email',
]);

Массив

$request->validate([
    'email' => ['required', 'email'],
]);

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½ΡƒΠΆΠ½Ρ‹Π΅ поля

$request->only('email');

🎯 Π’Ρ‹Π²ΠΎΠ΄

  • validate() автоматичСски провСряСт входящиС Π΄Π°Π½Π½Ρ‹Π΅.
  • ΠŸΡ€ΠΈ ошибкС Laravel сразу Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΡ‚Π²Π΅Ρ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ.
  • only() бСзопаснСС, Ρ‡Π΅ΠΌ all(), Ссли Π½ΡƒΠΆΠ½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ поля.
  • Ошибки Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ со статусом 422.

πŸ”— Бвязано