43 lines
1.1 KiB
PHP
Executable File
43 lines
1.1 KiB
PHP
Executable File
<?php
|
|
|
|
namespace App\Http\Requests\Admin\Setting;
|
|
|
|
use App\Traits\NotificationTrait;
|
|
use Illuminate\Contracts\Validation\Validator;
|
|
use Illuminate\Foundation\Http\FormRequest;
|
|
use Illuminate\Support\Facades\Auth;
|
|
use Illuminate\Validation\Rules\Password;
|
|
|
|
class PasswordRequest extends FormRequest
|
|
{
|
|
use NotificationTrait;
|
|
|
|
public function authorize(): bool
|
|
{
|
|
return Auth::check();
|
|
}
|
|
|
|
public function rules(): array
|
|
{
|
|
return [
|
|
'current_password' => ['required', 'current_password'],
|
|
'new_password' => [
|
|
'required',
|
|
'different:current_password',
|
|
Password::min(8)
|
|
->letters()
|
|
->mixedCase()
|
|
->numbers()
|
|
->symbols()
|
|
->uncompromised(),
|
|
],
|
|
'repeat_new_password' => ['required', 'same:new_password'],
|
|
];
|
|
}
|
|
|
|
protected function failedValidation(Validator $validator): void
|
|
{
|
|
$this->handleValidationFailure($validator);
|
|
}
|
|
}
|