В настоящее время я могу проверить свою форму в бэкэнде, используя 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!');
}
}
Вот примерная иллюстрация вывода, который я пытаюсь сделать