Встроенная проверка с использованием Laravel Validator - PullRequest
0 голосов
/ 09 апреля 2020

В настоящее время я могу проверить свою форму в бэкэнде, используя validator.

Что я пытаюсь сделать, это проверить форму по заданному c вводу текста только.

Мне нравится например.

У меня есть First name, Last name, Email, Username, Password and Confirm Password

Если я заполню все эти поля и введу только 3 символа для пароля.

Валидатор выдаст сообщение под текстовым полем пароля Говоря

The password must be at least 8 characters.

В настоящее время я могу это проверить, но я пытаюсь найти его ниже текстового поля

Вот мой HTML

<form method="POST" action="{{ route('insertUser') }}">
    @csrf

    <!-- First Name -->
    <div class="md-form">
        <input type="text" id="materialLoginFormFName" class="form-control @error('fname') is-invalid @enderror" name="fname" required>
        <label for="materialLoginFormFName">{{ __('First Name') }}</label>

        @error('fname')
            <span class="invalid-feedback" role="alert">
                <strong>{{ $message }}</strong>
            </span>
        @enderror
    </div>

    <!-- Last Name -->
    <div class="md-form">
        <input type="text" id="materialLoginFormLName" class="form-control @error('lname') is-invalid @enderror" name="lname" required>
        <label for="materialLoginFormLName">{{ __('Last Name') }}</label>

        @error('lname')
            <span class="invalid-feedback" role="alert">
                <strong>{{ $message }}</strong>
            </span>
        @enderror
    </div>

    <!-- Username -->
    <div class="md-form">
        <input type="text" id="materialLoginFormUName" class="form-control @error('uname') is-invalid @enderror" name="uname" required>
        <label for="materialLoginFormUName">{{ __('Username') }}</label>

        @error('uname')
            <span class="invalid-feedback" role="alert">
                <strong>{{ $message }}</strong>
            </span>
        @enderror
    </div>

    <!-- Email Address -->
    <div class="md-form">
        <input type="email" id="materialLoginFormEmail" class="form-control @error('email') is-invalid @enderror" name="email" required>
        <label for="materialLoginFormEmail">{{ __('E-Mail Address') }}</label>

        @error('email')
            <span class="invalid-feedback" role="alert">
                <strong>{{ $message }}</strong>
            </span>
        @enderror
    </div>


    <!-- Password -->
    <div class="md-form">
        <input type="password" id="materialLoginFormPass" class="form-control @error('password') is-invalid @enderror" name="password" required>
        <label for="materialLoginFormPass">{{ __('Password') }}</label>

        @error('password')
            <span class="invalid-feedback" role="alert">
                <strong>{{ $message }}</strong>
            </span>
        @enderror
    </div>

    <!-- Password -->
    <div class="md-form">
        <input id="password-confirm" type="password" class="form-control" name="password_confirmation" required autocomplete="new-password">
        <label for="password-confirm">{{ __('Confirm Password') }}</label>
    </div>

  </div>

    <button type="submit" name="submitNewUser" class="btn btn-success waves-effect" id="submitNewUser">{{ __('Save') }}</button>
    </form>

Вот мой контроллер

public function insertUser(Request $request)
{
    $data = Validator::make($request->all(), [
        'fname' => ['required', 'string', 'max:255'],
        'lname' => ['required', 'string', 'max:255'],
        'uname' => ['required', 'string', 'max:255'],
        'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
        'password' => ['required', 'string', 'min:8', 'confirmed'],
    ]);

    if ($data->fails()) {
        return $data->errors()->all();
    } else {
        return back()->with('success','Successfully Registered!');
    }
}

Вот примерная иллюстрация вывода, который я пытаюсь сделать

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...