Степпер форма не отправляет данные после нажатия кнопки «Отправить». MDBootstrap Laravel

Я использую laravel vue ui auth для аутентификации, и все функции работают. затем я изменил регистр формы, используя степпер из mdbootstrap. Но кнопка отправки не работает, и данные не выполняют действие публикации. Кажется, в степпере есть дефект или ошибка, но я не знаю, что это такое. лезвие:

<ul method="POST" action="{{ route('register') }}" class="stepper linear">
                        @csrf
                        <li class="step active">
                            <div class="step-title waves-effect waves-dark">Personal Info</div>
                                <div class="step-new-content">
                                    <div class="row">
                                        <div class="col-md-6">
                                            <div class="form-group">
                                                <label for="name">Full Name</label>
                                                <input id="name" type="text" class="form-control @error('name') is-invalid @enderror" name="name" value="{{ old('name') }}" placeholder="Via Sarah">
                                            </div>
                                        </div>
                                    </div>
                                <div class="step-actions">
                                    <button class="waves-effect waves-dark btn btn-sm btn-primary next-step">CONTINUE</button>
                                    <button class="waves-effect waves-dark btn btn-sm btn-secondary previous-step">BACK</button>
                                </div>
                            </div>
                        </li>
                        <li class="step">
                            <div class="step-title waves-effect waves-dark">Login Information</div>
                            <div class="step-new-content">
                            <div class="form-group">
                                <label for="email" class="col-md-4 col-form-label text-md-right">{{ __('E-Mail Address') }}</label>

                                <div class="col-md-6">
                                    <input id="email" type="email" class="form-control @error('email') is-invalid @enderror" name="email" value="{{ old('email') }}" required autocomplete="email">
                                    @error('email')
                                        <span class="invalid-feedback" role="alert">
                                            <strong>{{ $message }}</strong>
                                        </span>
                                    @enderror
                                </div>
                            </div>
                            <div class="form-group">
                                <label for="password" class="col-md-4 col-form-label text-md-right">{{ __('Password') }}</label>

                                <div class="col-md-6">
                                    <input id="password" type="password" class="form-control @error('password') is-invalid @enderror" name="password" required autocomplete="new-password">
                                    @error('password')
                                        <span class="invalid-feedback" role="alert">
                                            <strong>{{ $message }}</strong>
                                        </span>
                                    @enderror
                                </div>
                            </div>
                            <div class="form-group">
                                <label for="password-confirm" class="col-md-4 col-form-label text-md-right">{{ __('Confirm Password') }}</label>

                                <div class="col-md-6">
                                    <input id="password-confirm" type="password" class="form-control" name="password_confirmation" required autocomplete="new-password">
                                </div>
                            </div>
                            <div class="step-actions">
                                <div class="form-group">
                                <button class="waves-effect waves-dark btn btn-sm btn-primary m-0 mt-4" type="submit">{{ __('Register') }}</button>
                                </div>
                            </div>
                            </div>
                        </li>
                    </ul>

контроллер:

protected function create(array $data)
{
    $user = User::create([
        'name' => $data['name'],
        'email' => $data['email'],
        'password' => Hash::make($data['password']),
    ]);

    return view('auth.register');
}

введите здесь описание изображения


person Alek    schedule 02.03.2021    source источник


Ответы (1)


Метод контроллера должен быть public, а не protected. Также используйте Request $request в аргументах.

Вот код:

public function create(Request $request)
{
    // Validate request
    $user = User::create([
        'name' => $request->name,
        'email' => $request->email,
        'password' => Hash::make($request->password),
    ]);

    return view('auth.register');
}

Примечание. Не забудьте использовать Request в верхней части контроллера.

Обновление:

Оберните <ul> формой. <ul> не поддерживает атрибуты method и action.

Вот окончательная версия:

<form method="POST" action="{{ route('register') }}">
<ul class="stepper linear">
                        @csrf
                        <li class="step active">
                            <div class="step-title waves-effect waves-dark">Personal Info</div>
                                <div class="step-new-content">
                                    <div class="row">
                                        <div class="col-md-6">
                                            <div class="form-group">
                                                <label for="name">Full Name</label>
                                                <input id="name" type="text" class="form-control @error('name') is-invalid @enderror" name="name" value="{{ old('name') }}" placeholder="Via Sarah">
                                            </div>
                                        </div>
                                    </div>
                                <div class="step-actions">
                                    <button class="waves-effect waves-dark btn btn-sm btn-primary next-step">CONTINUE</button>
                                    <button class="waves-effect waves-dark btn btn-sm btn-secondary previous-step">BACK</button>
                                </div>
                            </div>
                        </li>
                        <li class="step">
                            <div class="step-title waves-effect waves-dark">Login Information</div>
                            <div class="step-new-content">
                            <div class="form-group">
                                <label for="email" class="col-md-4 col-form-label text-md-right">{{ __('E-Mail Address') }}</label>

                                <div class="col-md-6">
                                    <input id="email" type="email" class="form-control @error('email') is-invalid @enderror" name="email" value="{{ old('email') }}" required autocomplete="email">
                                    @error('email')
                                        <span class="invalid-feedback" role="alert">
                                            <strong>{{ $message }}</strong>
                                        </span>
                                    @enderror
                                </div>
                            </div>
                            <div class="form-group">
                                <label for="password" class="col-md-4 col-form-label text-md-right">{{ __('Password') }}</label>

                                <div class="col-md-6">
                                    <input id="password" type="password" class="form-control @error('password') is-invalid @enderror" name="password" required autocomplete="new-password">
                                    @error('password')
                                        <span class="invalid-feedback" role="alert">
                                            <strong>{{ $message }}</strong>
                                        </span>
                                    @enderror
                                </div>
                            </div>
                            <div class="form-group">
                                <label for="password-confirm" class="col-md-4 col-form-label text-md-right">{{ __('Confirm Password') }}</label>

                                <div class="col-md-6">
                                    <input id="password-confirm" type="password" class="form-control" name="password_confirmation" required autocomplete="new-password">
                                </div>
                            </div>
                            <div class="step-actions">
                                <div class="form-group">
                                <button class="waves-effect waves-dark btn btn-sm btn-primary m-0 mt-4" type="submit">{{ __('Register') }}</button>
                                </div>
                            </div>
                            </div>
                        </li>
                    </ul>
</form>
person Miqayel Srapionyan    schedule 02.03.2021
comment
когда я использую ‹form› на лезвии, контроллер работает нормально. проблема возникает, когда я меняю форму регистра с помощью степпера - person Alek; 02.03.2021
comment
Так почему вы используете <ul> вместо <form>? <ul> не поддерживает атрибуты method, action - person Miqayel Srapionyan; 02.03.2021
comment
@Alek Проверьте мой отредактированный ответ - person Miqayel Srapionyan; 02.03.2021
comment
да, это сработало. Спасибо. но здесь я переместил кнопку отправки за пределы ‹ul› - person Alek; 02.03.2021
comment
Я рад слышать, что :) - person Miqayel Srapionyan; 02.03.2021