Покращте валідацію електронної пошти за допомогою об'єкта правил Fluent Email у Laravel

1
Перекладено ШІ
Оригінал: Laravel News
Оновлено: 17 грудня, 2025
Ларавел впроваджує новий об'єкт правил перевірки електронної пошти, який перетворює просту валідацію рядків на зручний та розширюваний інтерфейс. Чи готові ви дізнатися, як оптимізувати валідацію електронної пошти у вашій програмі та надати користувачам безпечний досвід? Читайте далі, щоб відкривати нові можливості в Ларавел!

Laravel представляє новий об'єкт правил Email, який перетворює валідацію електронних листів з простих текстових правил на інтуїтивно зрозумілий і розширювальний інтерфейс. Це покращення дозволяє точно контролювати вимоги до валідації електронних адрес, роблячи код більш читабельним і легким для підтримки.

Валідація електронних адрес часто вимагає різних рівнів строгості - від простого перевірки формату до глибокої перевірки DNS і запобігання спуфінгу. Новий об'єкт правил Email спрощує цю складність завдяки інтуїтивному інтерфейсу:

use Illuminate\Validation\Rule;

$request->validate([
    'email' => ['required', 'string', Rule::email()->strict()->dns()]
]);

Цей підхід є особливо корисним при реалізації правил валідації, адаптованих до різних категорій користувачів:

class AppServiceProvider extends ServiceProvider
{
    public function boot()
    {
        Email::macro('contractor', function () {
            return Email::default()
                ->strict()
                ->dns()
                ->rules('ends_with:@contractors.org,@freelance.net');
        });

        Email::macro('customer', function () {
            return Email::strictSecurity()
                ->rules('not_ends_with:@spam-domains.com');
        });

        Email::macro('partner', function () {
            return Email::default()
                ->dns()
                ->spoof()
                ->filter()
                ->rules('ends_with:@trusted-partners.biz');
        });
    }
}

class UserController extends Controller
{
    public function create(Request $request)
    {
        $request->validate([
            'personal_email' => ['required', Rule::email()->strict()],
            'business_email' => ['required', Email::contractor()],
            'contact_email' => ['required', Email::partner()]
        ]);

        // Логіка створення користувача
    }
}

Об'єкт правил Email має численні переваги у порівнянні з традиційною валідацією на основі масивів. Він створює інтуїтивний інтерфейс для комбінування вимог валідації, покращує читабельність коду та підтримує розширення через макроси. Ця гнучкість особливо корисна для управління різноманітними потребами валідації електронних адрес у вашому додатку

Популярні

Logomark Logotype

Nuxt 3 + Laravel Sanctum: Просте та надійне рішення для автентифікації вашого SPA та API

У сучасній веб-розробці аутентифікація є ключовою для захисту додатків і даних користувачів. Дізнайтеся, як модуль nuxt-sanctum-authentication спростить інтеграцію між Nuxt 3 та Laravel Sanctum, забезпечуючи надійний і зручний спосіб реалізації аутентифікації для вашого проєкту

Logomark Logotype

Що нового в PHP 8.5

PHP 8.5 обіцяє безліч нових можливостей, таких як оператор Pipe, функції `array_first()` та `array_last()`, а також нове розширення URI. Чи готові ви дізнатися, як ці функції можуть спростити вашу розробку? Читайте далі, щоб дізнатися більше про ці захоплюючі нововведення

Logomark Logotype

Створення CLI-додатка за допомогою Laravel та Docker

Зазирніть у світ Laravel, де потужний CLI-фреймворк відкриває нові можливості для розробки командного інтерфейсу. Дізнайтеся, як створити просту утиліту для перевірки акцій, яка працює з Docker, та які переваги це може принести у вашому проєкті!