Jika Anda perlu memverifikasi apakah sebuah email itu asli, aktif, atau aman untuk digunakan, aturan validasi bawaan Laravel mungkin tidak cukup.
Hari ini, kami akan menunjukkan kepada Anda cara melakukan validasi email Laravel selangkah demi selangkah, mulai dari menggunakan metode validasi hingga membuat aturan validasi kustom. Tetapi jika Anda mencari cara yang lebih mudah – cara yang memeriksa lebih dari sekadar format – Anda juga akan menemukan alternatif yang lebih baik yang membuat email yang tidak valid, palsu, atau berisiko tidak masuk ke dalam daftar Anda.
Bagaimana cara melakukan validasi email Laravel?

Laravel menyediakan aturan validasi email bawaan, bersama dengan kemampuan untuk membuat aturan validasi khusus agar sesuai dengan kebutuhan spesifik. Kami akan memandu Anda dalam menyiapkan validasi email Laravel, menangani kesalahan validasi, dan mengimplementasikan validasi DNS dan RFC.
#1 Memvalidasi email di Laravel menggunakan metode validasi
Metode validasi Laravel, yang tersedia di kelas Illuminate\Http\Request, memudahkan untuk memvalidasi permintaan HTTP yang masuk. Contoh berikut ini menunjukkan aturan validasi email dasar di dalam metode controller.

Apa yang dilakukan oleh aturan-aturan ini:
- wajib diisi – Bidang tidak boleh kosong.
- email:rfc,dns – Memeriksa apakah email mengikuti standar RFC dan memverifikasi domain menggunakan catatan DNS.
Jika validasi gagal, Laravel secara otomatis mengalihkan pengguna dan menampilkan pesan kesalahan dalam sesi.
#2 Menggunakan validasi permintaan formulir untuk kode yang lebih bersih
Kelas permintaan formulir membantu menjaga logika validasi tetap terpisah dari pengontrol. Jalankan perintah ini:

Kemudian, perbarui kelas baru di dalam app/Http/Requests/:

Sekarang, perbarui controller Anda untuk menggunakannya:

Pendekatan ini membuat kode Anda lebih bersih dan dapat digunakan kembali.
#3 Menyesuaikan pesan kesalahan validasi
Laravel memiliki pesan kesalahan default, tetapi Anda dapat menyesuaikannya di resources/lang/en/validation.php:

Atau di dalam kelas permintaan formulir Anda:

#4 Membuat aturan validasi email khusus
Jika Anda membutuhkan sesuatu yang lebih canggih, buat aturan validasi khusus:

Perbarui aplikasi/Rules/ValidEmail.php:

Menerapkannya di dalam pengontrol:

Hal ini memungkinkan penanganan kesalahan khusus dan validasi tingkat lanjut.
#5 Menangani kesalahan validasi
Jika validasi gagal, Laravel secara otomatis mengembalikan kesalahan. Untuk menampilkan pesan di Blade:

Untuk permintaan API, Laravel mengirimkan respons 422 dengan kesalahan:

#6 Validasi email tingkat lanjut: Catatan DNS & MX
Untuk memvalidasi domain email, gunakan validasi DNS:

- rfc – Memastikan email mengikuti RFC 5322.
- dns – Memeriksa apakah domain memiliki catatan MX (yaitu dapat menerima email).
Untuk validasi DNS khusus, buat aturan:

Perbarui aplikasi/Rules/DnsValidator.php:

Menerapkannya di dalam pengontrol:

#7 Memvalidasi email dalam permintaan API JSON
Untuk permintaan API, kembalikan respons JSON alih-alih pengalihan:

Laravel secara otomatis kembali:

Untuk menangani validasi secara manual:

Mengapa memvalidasi email dengan Laravel tidak ideal?
Verifikasi email Laravel memiliki keterbatasan. Verifikasi ini hanya memeriksa apakah sebuah email mengikuti format yang benar – tidak memverifikasi apakah email tersebut asli, aktif, atau aman untuk digunakan. Inilah alasan mengapa hanya mengandalkan aturan validasi bawaan Laravel mungkin bukan pilihan terbaik.
Ini hanya memeriksa format alamat
Metode validasi yang disediakan oleh Laravel memastikan bahwa sebuah email terlihat benar, tetapi tidak mengonfirmasi apakah alamatnya ada. Aturan validasi berfokus pada struktur, bukan pengiriman. Ini berarti email yang tidak valid, salah ketik, atau bahkan alamat palsu masih bisa lolos.
Ini tidak mencakup alamat semua alamat atau jebakan spam
Metode validasi Laravel tidak mendeteksi alamat email yang bersifat catch-all, yang menerima semua pesan yang masuk – valid atau tidak. Laravel juga tidak dapat menyaring jebakan spam, yang digunakan oleh penyedia email untuk menangkap pengirim yang menggunakan daftar email yang sudah kedaluwarsa atau yang sudah dibeli. Tanpa pemeriksaan ini, daftar email Anda bisa dipenuhi dengan alamat-alamat yang berisiko.
Dibutuhkan pengetahuan pengkodean untuk mengimplementasikannya
Menyiapkan validasi email Laravel membutuhkan kerja dengan berkas PHP, menggunakan struktur aplikasi namespace PHP, dan menulis aturan validasi khusus. Jika Anda tidak nyaman dengan sintaksis Laravel, menerapkan aturan validasi Anda mungkin akan menjadi tantangan. Pesan kesalahan khusus juga perlu dikonfigurasi secara manual menggunakan metode validasi.
Ini tidak dapat diotomatisasi
Laravel tidak menyediakan otomatisasi bawaan untuk validasi email di luar pengiriman formulir. Anda perlu mengintegrasikan API eksternal atau menulis aturan validasi khusus untuk memvalidasi email secara dinamis. Bahkan dengan sistem pesan kesalahan khusus, menangani kegagalan validasi secara manual dapat memperlambat pengembangan.
Alternatif yang lebih baik untuk memvalidasi email dengan Laravel
Meskipun aturan validasi email Laravel membantu dalam pemeriksaan format dasar, aturan ini tidak cukup untuk menjaga daftar email yang bersih dan dapat diandalkan. Untuk memverifikasi apakah sebuah email valid, pertimbangkan untuk menggunakan alat yang memastikan email Anda menjangkau pengguna yang sebenarnya tanpa risiko bounce atau jebakan spam.
Bouncer adalah solusi yang tepat di sini.

Bagaimana Bouncer memverifikasi email:
Anda dapat mengunggah daftar alamat email Anda dan biarkan Bouncer melakukan sisanya:
- Pemeriksaan sintaks dan format – Memastikan email mengikuti struktur yang benar (misalnya, name@example.com).
- Pemeriksaan domain dan catatan MX – Memverifikasi apakah domain tersebut ada dan memiliki server email yang dikonfigurasi untuk menerima email.
- Validasi SMTP – Bouncer terhubung ke server email penerima (tanpa mengirim email) untuk memeriksa apakah kotak masuk ada dan apakah pesan dapat diterima.
- Deteksi jebakan semua dan jebakan spam – Mengidentifikasi domain berisiko yang menerima semua email (bahkan yang tidak valid) atau menjebak pengirim spam.
- Pemeriksaan toksisitas – Menandai email yang berpotensi berbahaya seperti email sekali pakai, sementara, atau yang diketahui sebagai alamat palsu.
Bouncer: apa yang tidak tercakup dalam validasi email Laravel
Bouncer menawarkan apa yang tidak ditawarkan oleh aturan validasi bawaan Laravel – verifikasi nyata yang lebih dari sekadar memeriksa format.
Bouncer mengonfirmasi apakah email tersebut valid
Aplikasi Laravel mengandalkan validasi berbasis sintaksis. Metode validasi yang disediakan oleh Laravel hanya memeriksa apakah email mengikuti struktur yang benar. Metode ini tidak memeriksa apakah ada kotak masuk atau apakah email tersebut dapat dijangkau. Di sisi lain, Bouncer, memverifikasi alamat email yang valid dengan menghubungkannya dengan server email, memastikan setiap alamat benar-benar aktif.
Menangkap email yang tidak valid, berbahaya, dan beracun
Pembaruan versi Laravel telah meningkatkan validasi email, tetapi masih belum mendeteksi jebakan spam, alamat palsu, atau domain yang mengandung banyak spam. Fitur Bouncer Shield milik Bouncer memblokir email yang tidak valid dan berbahaya secara instan, melindungi daftar Anda dari kontak-kontak berisiko yang dapat merusak reputasi pengirim.
Verifikasi otomatis tanpa pengkodean
Menulis aturan validasi khusus dalam file PHP berarti mengonfigurasi logika secara manual, menangani kegagalan validasi, dan mendefinisikan pesan kesalahan khusus. Bouncer menghilangkan pekerjaan ekstra ini dengan platform dan API yang mudah digunakan, membuat verifikasi email massal menjadi sederhana – tidak perlu pengkodean manual.
Memeriksa di luar format dengan wawasan keterlaksanaan
Meskipun aturan validasi Laravel dapat menandai simbol “@” yang hilang, aturan ini tidak menawarkan wawasan tentang keterkiriman email. Bouncer menyediakan Deliverability Kit yang menguji penempatan kotak masuk, memeriksa autentikasi email, dan memantau daftar hitam untuk memastikan pesan Anda menjangkau pengguna yang sebenarnya.
Verifikasi massal dan real-time untuk akurasi yang lebih baik
Aplikasi Laravel memproses satu per satu email menggunakan metode validasi di dalam controller. Namun, Bouncer, mendukung verifikasi massal, sehingga Anda dapat membersihkan ribuan alamat email dalam satu permintaan. API real-time-nya memastikan email baru diverifikasi secara instan, mencegah pendaftaran yang tidak valid dan mengurangi rasio pentalan.
👉 Lihat cara memvalidasi alamat email selangkah demi selangkah, tanpa pengkodean.
Mengapa memilih Bouncer daripada validasi Laravel?
- Metode validasi Laravel memastikan email terlihat valid. Bouncer mengonfirmasi apakah email tersebut benar-benar berfungsi.
- Laravel membutuhkan aturan validasi khusus untuk pemeriksaan lanjutan. Bouncer melakukannya secara otomatis.
- Laravel tidak memblokir jebakan spam, catch-all, atau email beracun. Bouncer melakukannya.
- Laravel membutuhkan pengetahuan pengkodean untuk mengimplementasikan validasi. Bouncer tidak ramah terhadap kode.
- Laravel tidak memverifikasi keterkiriman. Bouncer meningkatkan penempatan kotak masuk dengan wawasan yang nyata.
Untuk bisnis yang mengandalkan alamat email yang bersih dan valid, Bouncer mungkin merupakan pilihan yang lebih baik. Alamat ini memastikan email Anda sampai ke kotak masuk yang tepat – valid secara teknis dan dapat dikirimkan.
Kesimpulan
Sebelum memutuskan untuk menggunakan validasi email Laravel, Anda harus mengetahui hal ini – validasi ini tidak mengonfirmasi apakah alamat email tersebut berfungsi. Validasi ini tidak akan menangkap email palsu, jebakan spam, atau alamat berisiko yang dapat merusak reputasi pengirim. Selain itu, menyiapkan aturan validasi khusus membutuhkan pengetahuan pengkodean, dan bahkan kemudian, Laravel tidak akan memverifikasi alamat email yang valid di luar pemformatan dasar.
Bouncer mungkin merupakan alternatif yang lebih baik. Ini memverifikasi email asli, memblokir perangkap spam, dan mengotomatiskan seluruh proses – tidak perlu pengkodean. Apakah Anda memerlukan verifikasi massal atau pemeriksaan email secara real-time, Bouncer memastikan email Anda sampai ke kotak masuk yang sebenarnya, bukan buntu.
Jangan hanya memeriksa apakah email terlihat benar – pastikan email tersebut berfungsi. Coba Bouncer hari ini dengan kredit gratis.

