- Mensajes: 46
- Gracias recibidas: 1
Controlador create() y store($request) en Laravel 8
- luispindola
- Autor del tema
- Fuera de línea
- Administrador
Menos
Más
2 años 10 meses antes - 2 años 10 meses antes #17
por luispindola
Controlador create() y store($request) en Laravel 8 Publicado por luispindola
1.- Se crea la vista de formulario de usuarios: (Incluyendo mostrar errores de validación):
Creamos la vista: /view/usuarios/create.blade.php
Se crea la función create en el Controlador Usuarios.php:
Que lo único que hace es mostrar la vista.
Se crea la ruta en web.php
y la ruta para el post:
Se crea la función store en el Controlador Usuarios.php:
Incluyendo las reglas de validación.
Y para cambiar los mensajes de errores de validación a español: github.com/Laraveles/spanish
Creamos la vista: /view/usuarios/create.blade.php
@extends('layout.fixednavbar')
@section('contenido')
<div class="jumbotron">
<h1>Nuevo Usuario</h1>
<form
name="form1"
role="form"
method="post"
action="{{url('/usuarios')}}">
@csrf
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
<div class="mb-3">
<label for="nombre" class="form-label">Nombre:</label>
<input type="text" class="form-control @error('nombre') is-invalid @enderror" id="nombre"
name="nombre"
value="{{old('nombre')}}"
placeholder="Nombre de usuario">
@error('nombre')<div class="alert alert-danger">{{ $message }}</div>@enderror
</div>
<div class="mb-3">
<label for="email" class="form-label">Correo electrónico:</label>
<input type="mail" class="form-control @error('email') is-invalid @enderror" id="email"
name="email"
value="{{old('email')}}"
placeholder="Correo electrónico">
@error('email')<div class="alert alert-danger">{{ $message }}</div>@enderror
</div>
<div class="mb-3">
<label for="password" class="form-label">Contraseña:</label>
<input type="password" class="form-control @error('password') is-invalid @enderror" id="password"
name="password"
value="{{old('password')}}"
placeholder="Contraseña">
@error('password')<div class="alert alert-danger">{{ $message }}</div>@enderror
</div>
<div class="mb-3">
<label for="password2" class="form-label">Confirmar Contraseña:</label>
<input type="password" class="form-control @error('password2') is-invalid @enderror" id="password2"
name="password2"
value="{{old('password2')}}"
placeholder="Confirmar Contraseña">
@error('password')<div class="alert alert-danger">{{ $message }}</div>@enderror
</div>
<div class="mb-3">
<button type="submit" class="btn btn-primary mb-3">Crear usuario</button>
</div>
</form>
</div>
@endsection
Se crea la función create en el Controlador Usuarios.php:
public function create()
{ //MUESTRA FORMULARIO VACIO
return view('usuarios.create');
}
Que lo único que hace es mostrar la vista.
Se crea la ruta en web.php
Route::get('/usuarios', [Usuarios::class, 'create']);
y la ruta para el post:
Route::post('/usuarios', [Usuarios::class, 'store']);
Se crea la función store en el Controlador Usuarios.php:
public function store(Request $request)
{ //RECIBE EL POST DEL CREATE
//dd($request);
$request->validate([
'nombre' => 'required',
'email' => 'required',
'password' => 'required',
'password2' => 'required'
]);
dd($request);
}
Incluyendo las reglas de validación.
Y para cambiar los mensajes de errores de validación a español: github.com/Laraveles/spanish
Última Edición: 2 años 10 meses antes por luispindola.
Por favor, Identificarse o Crear cuenta para unirse a la conversación.
Tiempo de carga de la página: 0.070 segundos