TIF_NGANJUK_E41220418/app/Http/Requests/Admin/ProfilRequest.php

58 lines
2.0 KiB
PHP

<?php
namespace App\Http\Requests\Admin;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Support\Facades\Auth;
class ProfilRequest extends FormRequest
{
// Mengarahkan error ke tas 'updateProfil'
protected $errorBag = 'updateProfil';
public function authorize(): bool
{
return true;
}
public function rules(): array
{
$userId = Auth::id();
//tambah validasi
return [
'nama' => 'required|string|min:3|max:30|regex:/^[a-zA-Z\s]+$/',
'username' => 'required|string|alpha_num|min:5|max:10|unique:users,username,' . $userId . ',id_user',
'email' => 'required|email|unique:users,email,' . $userId . ',id_user',
'no_wa' => 'nullable|numeric|digits_between:10,15',
'alamat' => 'nullable|string|min:10|max:150|regex:/^[a-zA-Z0-9\s\.\,\/\-\(\)]+$/',
];
}
public function messages(): array
{
return [
'required' => ':attribute wajib diisi.',
'unique' => ':attribute sudah digunakan.',
'numeric' => ':attribute harus berupa angka.',
'email' => 'Format :attribute tidak valid.',
'digits_between' => ':attribute harus berjumlah antara 10 sampai 15 digit.',
'min' => ':attribute terlalu pendek, minimal :min karakter.',
'max' => ':attribute terlalu panjang, maksimal :max karakter.',
'nama.regex' => 'Nama hanya boleh berisi huruf dan spasi.',
'username.alpha_num' => 'Username hanya boleh berisi huruf dan angka.',
'alamat.regex' => 'Alamat hanya boleh berisi huruf, angka, spasi, titik, koma, tanda hubung, dan tanda petik dua.',
];
}
public function attributes(): array
{
return [
'nama' => 'Nama lengkap',
'no_wa' => 'Nomor WhatsApp',
'alamat' => 'Alamat',
'username' => 'Username',
'email' => 'Email',
];
}
}