Skip to content

Instantly share code, notes, and snippets.

@cbaconnier
Last active June 9, 2020 13:49
Show Gist options
  • Save cbaconnier/3947f908893e333e884aca945e3e95c0 to your computer and use it in GitHub Desktop.
Save cbaconnier/3947f908893e333e884aca945e3e95c0 to your computer and use it in GitHub Desktop.
Livewire Login
<div>
@section('title', __('Login'))
<x-form wire:submit.prevent="login"
action="#"
method="POST">
<x-input.group :error="$errors->first('email')"
label="E-mail"
for="email"
>
<x-input.text type="email"
:error="$errors->first('email')"
wire:model="email"
id="email"
name="email"
required
autofocus />
</x-input.group>
<x-input.group :error="$errors->first('password')"
label="Mot de passe"
for="password"
>
<x-input.text type="password"
:error="$errors->first('password')"
wire:model="password"
id="password"
name="password"
/>
</x-input.group>
<x-input.group :error="$errors->first('remember')">
<x-input.checkbox wire:model="remember"
:label="__('Remember Me')"
id="remember"
name="remember" />
</x-input.group>
<x-button.submit class="mt-4 w-full"
text="Se connecter" />
</x-form>
<x-link :href="route('auth.password.request')"
class="w-full text-center mt-4"
text="Mot de passe oublié ?" />
</div>
<?php
namespace App\Livewire\Auth;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Foundation\Auth\ThrottlesLogins;
use Illuminate\Http\Request;
use Livewire\Component;
class Login extends Component
{
use ThrottlesLogins, AuthenticatesUsers;
public $email = '';
public $password = '';
public $remember = false;
protected function validateLogin(Request $request)
{
$this->validate([
'email' => ['required', 'email'],
'password' => ['required'],
]);
}
protected function attemptLogin(Request $request)
{
return $this->guard()->attempt(
[
'email' => $this->email,
'password' => $this->password,
],
$this->remember
);
}
public function render()
{
return view('livewire.auth.login');
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment