Assalamualaikum warahmatullahi wabarakatuh.

Kembali lagi di tutorial singkat nan padat berupa tips dan trik dalam potongan kode. Kali ini tentang update password di Laravel.

Bayangkan kamu memiliki halaman untuk mengubah password akun, kira-kira akan ada elemen-elemen berikut ini:

  • Password saat ini (name: current_password)
  • Password baru (name: password)
  • Konfirmasi password baru (name: password_confirmation)

Jika ini adalah aplikasi RESTful, maka kira-kira struktur JSON-nya seperti ini:

{
     "current_password": "abcdefg",
     "password": "new password",
     "password_confirmation": "new password"
}

Lalu buat sebuah invokable controller dengan perintah:

php artisan make:controller UpdatePasswordController -i

Kemudian buat sebuah form request dengan perintah:

php artisan make:request UpdatePasswordRequest

Kembali ke file controller tadi, ubah isinya menjadi seperti ini:

use App\Http\Requests\UpdatePasswordRequest;
use Illuminate\Support\Facades\Hash;

...

public function __invoke(UpdatePasswordRequest $request)
{
    $request->user()->fill([
        'password' => Hash::make($request->password)
    ])->save();

    ....
}

Adapun isi file form request-nya sebagai berikut:

public function rules(): array
{
    return [
        'current_password' => 'required|current_password|different:password',
        'password' => 'required|string|min:6|confirmed',
    ];
}

Daan jadilah sebuah halaman untuk mengubah password dengan ketentuan sebagai berikut:

  1. Membutuhkan password aktif yang tepat saat ini.
  2. Panjang password minimal 6 karakter.
  3. Password baru dan konfirmasi passwordnya harus sama.
  4. Password baru dan password lama harus berbeda.

Sebetulnya masih banyak yang bisa dilakukan seperti password harus berupa kombinasi huruf, angka dan simbol. Namun, itu kita bahas di lain waktu saja. Kali ini penulis ingin menekankan tentang kesederhanaan kode Laravel dalam skenario ubah password ini.

Terima kasih sudah membaca sampai sini. Semoga bermanfaat. Mohon koreksi jika ada kekeliruan dan bagikan artikel ini jika memberi pengetahuan.

Wassalamu’alaikum warahmatullahi wabarakatuh.

By Reza Nurfachmi

Your friendly muslim software engineer.

Leave a Reply