55 lines
1.8 KiB
PHP
55 lines
1.8 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:100|regex:/^[a-zA-Z\s]+$/',
|
|
'username' => 'required|string|alpha_num|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|max:200|regex:/^[a-zA-Z0-9\s\.,:"-]+$/',
|
|
];
|
|
}
|
|
|
|
public function messages(): array
|
|
{
|
|
return [
|
|
'required' => 'Kolom :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 minimal harus berisi :min karakter.',
|
|
'max' => ':attribute maksimal hanya boleh :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 WA',
|
|
];
|
|
}
|
|
}
|