Как перехватить событие ошибки проверки в livewire 2?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как перехватить событие ошибки проверки в livewire 2?

Сообщение Anonymous »

Прочитав, как работают проверки, на https://laravel-livewire.com/docs/2.x/input-validation
Я не нашел, есть ли способ в livewire 2, когда у меня есть
ошибка проверки для перехвата события, так как мне нужно отправить событие диспетчеризацииBrowserEvent
чтобы показать сообщение с помощью toastr?
Моя форма довольно большая, и поле проверки может находиться за пределами экрана
и хочу обратить внимание пользователя, что есть ошибки валидации...
Обновленный блок №1:
Вы предлагаете избавиться метода проверки livewire и используйте методы проверки laravel, которые написаны здесь
https://laravel.com/docs/8.x/validation, например:

Код: Выделить всё

   $validator = Validator::make($request->all(), [
'title' => 'required|unique:posts|max:255',
'body' => 'required',
]);

if ($validator->fails()) {
...

В моем компоненте я определяю все переменные в одной переменной $form:

Код: Выделить всё

public $form
= [
'name'               => '',
'state_id'           => '',

...

public function firstStepSubmit()
{
$rules = [
'name'         => 'required',
'state_id'     => 'required',
];

$validation = Validator::make( $this->form, $rules, Hostel::getValidationMessagesArray());
$failed     = $validation->fails();
if ($failed) {
$errorMsg = $validation->getMessageBag();
$focus_field = array_key_first($errorMsg->getMessages());

$this->dispatchBrowserEvent('PersonalPageMessageWarning', [
'title'   => 'Personal Hostel',
'message' => 'Your hostel has invalid data !',
'focus_field' => str_replace('form.', '', $focus_field ),
]);

$validation->validate(); // What for this line ? Looks like we really need it ?
return;
}

$this->currentStep = 2;
} // public function firstStepSubmit()

строка внутри неудачного блока? Действительно ли нам это нужно?

2) переход на оригинальные методы laravel кажется мне шагом назад... Есть ли для этого какие-нибудь живые перехватчики/методы?
Заранее спасибо!


Подробнее здесь: https://stackoverflow.com/questions/694 ... livewire-2
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»