
Usuario:ManuelRomero/Laravel/formularios
De WikiEducator
< Usuario:ManuelRomero | Laravel
Revisión a fecha de 23:34 31 oct 2020; ManuelRomero (Discusión | contribuciones)
Contenido
[ocultar]Crear formularios
- Collective
- Laraform
Creando formuarios con Laraform
https://laraform.io/ https://gabrielchavez.me/formularios-reactivos-laravel/ |
Laraforms
{{MRM_Actividad|Title=Laraform|
- Qué es
Es un generador de formularios que da cobertura tanto en frontend (con Vue) como en backend (con Laravel).
- ¿Hay que usarlo conjutamente ?
Ambas bibliotecas (la del front y la del back), se pueden usar conjuntamente o de forma independiente
- Hay versión de pago (más pòtencial) y versión gratuita.
- Requisitos para uso
- Para frontend
Node.js & NPM Vue.js Webpack or Laravel Mix
- Para el backend
Composer Laravel Framework 5.6+
- Instalación
- Instalamos el frontend
npm i laraform –save
- Para instalar la integración con backend
composer require laraform/laraform-laravel
- Agretamos en composer.json las siguientes dependencias
- Si hubiera dependencias ('devDependencies) las agregamos, si no añadimos todo
"devDependencies": { /// ... "axios": "^0.18", "lodash": "^4.17.4", "moment": "^2.24.0", "vue": "^2.5.22" }}
- Ahora actualizamos con composer nuestro proyecto
Idioma no válido.
Necesita especificar un idioma como esto: <source lang="html4strict">...</source>
lenguajes soportados para sintaxis remarcada:
[Expandir]
composer update
- Ahora tenemos agregar el service provider de Laraform en nuestro proyecto
- Para ello podemos usar artisan con el comando
php artisan vendor:publish
- Con ello habremos agregado el service provider de Laraform
Laraform\LaraformServiceProvider.
- Podemos instalarlo en línea de comandos, o agregando el paquete en composerr.json
- En línea de comandos
composer require laravelcollective/html
- En composer.json
"require": { "laravelcollective/html": "^6.0" },
Ahora update composer.json (require part)
- Ahora debemos agregar el alias y el provider en nuestro fichero de configuración para poderlo usar
- Estos ficheros componene el psr-4
- Agregamos en app.php
'Collective\Html\HtmlServiceProvider'
- Y ahora agregamos los alias
'Form'=> 'Collective\Html\FormFacade', 'HTML'=> 'Collective\Html\HtmlFacade'
Creando un formulario
- Creando una etiqueta form
{!! Form::open(.....) !!} // {!! Form::close() !!}
- Especificando atributos del formulario action y method
- Especifico url (ruta) y método
{!! Form::open(['url' => 'foo/bar', 'method' => 'post'])!!}
- Especifico el nombre de una ruta
echo Form::open(['route' => 'route.name'])
- Escificando un método de un controlador
echo Form::open(['action' => 'Controller@method'])
*Se pueden pasar parámetros al método o ruta especificada
echo Form::open(['action' => 'Controller@method', $nombre])
- Crear un formulario basado en un modelo
{!! Form::model($user, ['route' => ['user.update', $user->id]])!!}
Validar formularios
- Para validar formularios podemos crear una clase request usando artisan
php artisan make:request nombre
- Con esta acción tedremos una nueva clase en app/Http/Controller/Request/nombre
en esta clase tendremos el código limpio para implemntar reglas de validación en el servidor
- En este caso el nombre puesto ha sido Alumnos
<?php namespace App\Http\Requests; use Illuminate\Foundation\Http\FormRequest; class Alumnos extends FormRequest { /** * Determine if the user is authorized to make this request. * * @return bool */ public function authorize() { return false; } /** * Get the validation rules that apply to the request. * * @return array */ public function rules() { return [ // ]; } }