Ich versuche Laravel's Standardauthentifizierungssystem zu modifizieren, indem ich modale Fenster benutze und einige neue Felder hinzufüge. So habe ich ein modales Fenster einen neuen Benutzer zu registrieren, die wie folgt aussieht:Laravel Default Auth mit Mods
<!-- Modal Register area -->
<div class="modal fade" id="registerModal" tabindex="-1" role="dialog" aria-labelledby="myRegisterLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<form id="formRegister" class="login-form" action="{{ route('register') }}" method="POST">
{{ csrf_field() }}
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<h4 class="modal-title" id="myRegisterLabel">Sign Up</h4>
</div>
<div class="modal-body">
<div class="form-group">
<label>First Name:</label>
<input type="text" name="first_name" placeholder="first name..." value="{{ old('first_name') }}" required autofocus>
</div>
<div class="form-group">
<label>Last Name:</label>
<input type="text" name="last_name" placeholder="last name..." value="{{ old('last_name') }}" required autofocus>
</div>
<div class="form-group">
<label>Email:</label>
<input type="email" name="email" placeholder="email..." value="{{ old('email') }}" required>
</div>
<div class="form-group">
<label>Password:</label>
<input type="password" name="password" required>
</div>
<div class="form-group">
<label>Password Confirmation:</label>
<input type="password" name="password_confirmation" required>
</div>
<div class="form-group">
<button type="submit" class="btn btn-primary">
Register
</button>
</div>
</div>
</form>
@if(count($errors))
@foreach ($errors->all() as $error)
<div class="alert alert-danger">
<p>{{ $error }}</p>
</div>
@endforeach
@endif
</div>
</div>
</div>
<!-- End Modal Register area -->
Dann modifizierte ich die RegisterController Validierungsregeln und das Verfahren schafft diese neuen Felder sowie die Migrationsdatei aufzunehmen. (Also, ich habe die fileds in der Datenbank, alles ist gut dort)
RegisterController:
<?php
namespace App\Http\Controllers\Auth;
use App\User;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Validator;
use Illuminate\Foundation\Auth\RegistersUsers;
use Illuminate\Http\Request;
class RegisterController extends Controller
{
/*
|--------------------------------------------------------------------------
| Register Controller
|--------------------------------------------------------------------------
|
| This controller handles the registration of new users as well as their
| validation and creation. By default this controller uses a trait to
| provide this functionality without requiring any additional code.
|
*/
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 \Illuminate\Contracts\Validation\Validator
*/
protected function validator(array $data)
{
return Validator::make($data, [
'first_name' => 'required|max:255',
'last_name' => 'required|max:255',
'email' => 'required|email|max:255|unique:users',
'password' => 'required|min:6|confirmed',
]);
}
/**
* Create a new user instance after a valid registration.
*
* @param array $data
* @return User
*/
protected function create(array $data)
{
return User::create([
'first_name' => $data['first_name'],
'last_name' => $data['last_name'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
]);
}
}
In der Form, wie man sehen kann ich dies Weg bin Entsendung (‚Register‘), aber auch wenn Ich bekomme keine Fehler, wenn ich das Formular absende und ich werde zu dem/weitergeleitet, der Benutzer wird nicht in der Datenbank gespeichert. Die Sache ist, ich bin nicht wirklich sicher, wie dieses Standard-Authentifizierungssystem funktioniert ..
Danke für Ihre Hilfe!
Haben Sie das Feld zu Ihrem $ ausfüllbare Eigenschaft auf dem Modell hinzufügen? –
Ja, habe ich, ich habe vergessen, das zu erwähnen. –
Also auf Ihrem make and create, wo sind die neuen Felder, die Sie hinzufügen? –