Сначала я конвертирую вашу валидацию в запрос формы, это будет автоматически разрешено при введении в контроллер.
UserCreateRequest extends FormRequest {
public function rules() {
'first_name' => ['required','min:2','max:30',new PersonNameRule],
'last_name' => ['required','min:2','max:30',new PersonNameRule],
'username' => ['required','confirmed',new UsernameRule]
}
}
Чтобы использовать его, введите его вот так.
public create(UserCreateRequest $request) {
...
}
Здесь вы можете использовать два метода обратного вызова passedValidation()
и failedValidation()
в своем запросе формы.
protected function failedValidation(Validator $validator) {
session(['attempt' => session('attempt')+1 ?? 1]);
return parent::failedValidation($validator);
}
protected function passedValidation() {
session()->forget('attempt')
return parent::passedValidation();
}