Laravel 6 - 在提交退货注册表时注册



我正在尝试使用 Laravel 6 中的身份验证内置。但是当我尝试注册时,页面返回相同的注册表单。当我调试时,我看到它进入了 RegisterController 中的验证器方法,但没有进入创建方法。此外,密码确认没有在客户端完成,因此如果密码不匹配,它仍然只是重新加载页面。

我真的不知道我是否以正确的方式做到这一点,但看起来php artisan ui:auth没有完全安装。

是否有可能因为我使用荷兰变量名称而不起作用?

寄存器控制器:

use RegistersUsers;
/**
* Where to redirect users after registration.
*
* @var string
*/
protected $redirectTo = '/';

/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest');
}
/**
* Get a validator for an incoming registration request.
*
* @param  array  $data
* @return IlluminateContractsValidationValidator
*/
protected function validator(array $data)
{
$returnvalue = Validator::make($data, [
'voornaam' => ['required', 'string', 'max:255'],
'achternaam' => ['required', 'string', 'max:255'],
'gezin_id' => ['int'],
'geboortedatum' => ['required', 'date'],
'adres' => ['required', 'string', 'max:255'],
'postcode' => ['required', 'string', 'max:8'],
'gemeente' => ['required', 'string', 'max:255'],
'land' => ['required', 'string', 'max:255'],
'gsm' => ['required', 'string', 'max:12'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
'password' => ['required', 'string', 'min:8', 'confirmed'],
]);
return ($returnvalue);
}
/**
* Create a new user instance after a valid registration.
*
* @param  array  $data
* @return AppUser
*/
protected function create(array $data)
{
dd(request()->all());
return User::create([
'voornaam' => $data['voornaam'],
'achternaam' => $data['achternaam'],
'geboortedatum' => $data['geboortedatum'],
'adres' => $data['adres'],
'postcode' => $data['postcode'],
'gemeente' => $data['gemeente'],
'land' => $data['land'],
'gsm' => $data['gsm'],
'email' => $data['email'],
'password' => Hash::make($data['password']),
]);
}

注册刀片.php

@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">{{ __('Registreer') }}</div>
<div class="card-body">
<form method="POST" action="{{ route('register') }}">
@csrf
@if($errors->any())
<div class="row collapse">
<ul class="alert-box warning radius">
@foreach($errors->all() as $error)
<li> {{ $error }} </li>
@endforeach
</ul>
</div>
@endif
<div class="form-group row">
<label for="voornaam"
class="col-md-4 col-form-label text-md-right">{{ __('Voornaam') }}</label>
<div class="col-md-6">
<input id="voornaam" type="text"
class="form-control @error('voornaam') is-invalid @enderror" name="voornaam"
value="{{ old('voornaam') }}" required autocomplete="voornaam" autofocus>
@error('voornaam')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
[...]
<div class="form-group row">
<label for="password-confirm"
class="col-md-4 col-form-label text-md-right">{{ __('Bevestig wachtwoord') }}</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="form-group row mb-0">
<div class="col-md-6 offset-md-4">
<button type="submit" class="btn btn-primary">
{{ __('Registreer') }}
</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
@endsection

更新

验证器值返回:

Validator {#282 ▼
#translator: Translator {#280 ▶}
#container: Application {#2 ▶}
#presenceVerifier: DatabasePresenceVerifier {#281 ▶}
#failedRules: []
#messages: null
#data: array:12 [▶]
#initialRules: array:11 [▶]
#rules: array:11 [▶]
#currentRule: null
#implicitAttributes: []
#distinctValues: []
#after: []
+customMessages: []
+fallbackMessages: []
+customAttributes: []
+customValues: []
+extensions: []
+replacers: []
#fileRules: array:9 [▶]
#implicitRules: array:10 [▶]
#dependentRules: array:18 [▶]
#sizeRules: array:8 [▶]
#numericRules: array:2 [▶]
}

那么,看起来没有验证错误?

我发现这只是一个愚蠢的错误。

我使用了所有荷兰变量,因此验证器无法再进行密码确认。我唯一仍然不明白的是为什么我没有收到任何错误。

最新更新