Я не нашел, есть ли способ в 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()) {
...
Код: Выделить всё
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()
- // Зачем это
Код: Выделить всё
$validation->validate();
2) переход на оригинальные методы laravel кажется мне шагом назад... Есть ли для этого какие-нибудь живые перехватчики/методы?
Заранее спасибо!
Подробнее здесь: https://stackoverflow.com/questions/694 ... livewire-2
Мобильная версия