56 lines
1.6 KiB
PHP
56 lines
1.6 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Requests;
|
|
|
|
use Illuminate\Foundation\Http\FormRequest;
|
|
use Illuminate\Validation\Rule;
|
|
|
|
class UpdateUserRequest extends FormRequest
|
|
{
|
|
public function authorize(): bool
|
|
{
|
|
return true;
|
|
}
|
|
|
|
public function rules(): array
|
|
{
|
|
$userId = $this->route('id');
|
|
return [
|
|
'fullname' => ['required'],
|
|
'username' => [
|
|
'required',
|
|
Rule::unique('users', 'username')->ignore($userId)
|
|
],
|
|
'email' => [
|
|
'required',
|
|
'email',
|
|
Rule::unique('users', 'email')->ignore($userId)
|
|
],
|
|
'password' => [
|
|
'nullable',
|
|
'confirmed',
|
|
'min:6',
|
|
'regex:/[!@#$%^&*(),.?":{}|<>]/'
|
|
],
|
|
];
|
|
}
|
|
|
|
public function messages()
|
|
{
|
|
return [
|
|
'fullname.required' => 'Nama lengkap harus diisi.',
|
|
|
|
'username.required' => 'Username harus diisi.',
|
|
'username.unique' => 'Username ini sudah digunakan, silakan pilih username lain.',
|
|
|
|
'email.required' => 'Email harus diisi.',
|
|
'email.email' => 'Format email tidak valid.',
|
|
'email.unique' => 'Email ini sudah digunakan, silakan gunakan email lain.',
|
|
|
|
'password.confirmed' => 'Konfirmasi password tidak cocok.',
|
|
'password.min' => 'Password harus memiliki setidaknya 6 karakter.',
|
|
'password.regex' => 'Password harus mengandung setidaknya satu simbol .',
|
|
];
|
|
}
|
|
}
|