Diferencia entre revisiones de «Usuario:ManuelRomero/Laravel/formularios»
(5 revisiones intermedias por el mismo usuario no mostrado) | |||
Línea 1: | Línea 1: | ||
− | ===Crear formularios | + | |
+ | ===Crear formularios === | ||
+ | ;Collective | ||
+ | {{MRM_Web|Title=Creando formuarios con collective| | ||
https://laravelcollective.com/docs/5.8/html | https://laravelcollective.com/docs/5.8/html | ||
+ | }} | ||
+ | ;Laraform | ||
+ | {{MRM_Web|Title=Creando formuarios con Laraform| | ||
+ | https://laraform.io/ | ||
+ | https://gabrielchavez.me/formularios-reactivos-laravel/ | ||
+ | https://github.com/laraform/laraform | ||
+ | }} | ||
+ | ====Laraforms==== | ||
+ | <br /> | ||
+ | {{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 (front y back) ? | ||
+ | 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 | ||
+ | <source lang=bash> | ||
+ | npm i laraform –save | ||
+ | </source> | ||
+ | *Debemos tener instaladas las siguientes dependencias | ||
+ | <source lang=bahs> | ||
+ | npm i axios lodash moment vue --save | ||
+ | </source> | ||
+ | *Se puede ver el fichero package.json y deben de estar | ||
+ | <source lang=php> | ||
+ | "devDependencies": { | ||
+ | /// ... | ||
+ | "axios": "^0.18", | ||
+ | "lodash": "^4.17.4", | ||
+ | "moment": "^2.24.0", | ||
+ | "vue": "^2.5.22" | ||
+ | </source> | ||
+ | *Para instalar la integración con backend | ||
+ | <source lang=bash> | ||
+ | composer require laraform/laraform-laravel | ||
+ | </source> | ||
+ | }} | ||
+ | </source> | ||
+ | *Ahora actualizamos con composer nuestro proyecto | ||
+ | <source lang=bash> | ||
+ | composer update | ||
+ | </source> | ||
+ | *Ahora tenemos agregar el service provider de Laraform en nuestro proyecto | ||
+ | *Para ello podemos usar '''''artisan''''' con el comando | ||
+ | <source lang=bash> | ||
+ | php artisan vendor:publish | ||
+ | </source> | ||
+ | *Con ello habremos agregado el service provider de Laraform | ||
+ | *Cuando se le pregunte, seleccionamos : '''''Laraform \ LaraformServiceProvider'''''. Esto publicará un archivo de configuración en config / laraform.php. | ||
+ | OPCIONES DE EXTENSIÓN | ||
+ | <source lang=php> | ||
+ | Laraform\LaraformServiceProvider. | ||
+ | </source> | ||
+ | }} | ||
*Podemos instalarlo en línea de comandos, o agregando el paquete en composerr.json | *Podemos instalarlo en línea de comandos, o agregando el paquete en composerr.json | ||
*En línea de comandos | *En línea de comandos | ||
Línea 15: | Línea 81: | ||
}, | }, | ||
</source> | </source> | ||
− | + | }} | |
+ | {{MRM_Actividad|Title=LaravelForm, ejemplo básico| | ||
+ | *Creamos un una clase que extienda de Laraform '''''app/forms/formulario.php'''' | ||
+ | MRM_PEDIENTE | ||
+ | |||
+ | }} | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
Ahora update composer.json (require part) | Ahora update composer.json (require part) | ||
*Ahora debemos agregar el alias y el provider en nuestro fichero de configuración para poderlo usar | *Ahora debemos agregar el alias y el provider en nuestro fichero de configuración para poderlo usar |
Última revisión de 02:31 1 nov 2020
Contenido
Crear formularios
- Collective
https://laravelcollective.com/docs/5.8/html |
- Laraform
https://laraform.io/ https://gabrielchavez.me/formularios-reactivos-laravel/ https://github.com/laraform/laraform |
Laraforms
Es un generador de formularios que da cobertura tanto en frontend (con Vue) como en backend (con Laravel).
Ambas bibliotecas (la del front y la del back), se pueden usar conjuntamente o de forma independiente
Node.js & NPM Vue.js Webpack or Laravel Mix
Composer Laravel Framework 5.6+
npm i laraform –save
Idioma no válido. Necesita especificar un idioma como esto: <source lang="html4strict">...</source> lenguajes soportados para sintaxis remarcada: 4cs, 6502acme, 6502kickass, 6502tasm, 68000devpac, abap, actionscript, actionscript3, ada, algol68, apache, applescript, apt_sources, arm, asm, asp, asymptote, autoconf, autohotkey, autoit, avisynth, awk, bascomavr, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, c_loadrunner, c_mac, caddcl, cadlisp, cfdg, cfm, chaiscript, cil, clojure, cmake, cobol, coffeescript, cpp, cpp-qt, csharp, css, cuesheet, d, dcl, dcpu16, dcs, delphi, diff, div, dos, dot, e, ecmascript, eiffel, email, epc, erlang, euphoria, f1, falcon, fo, fortran, freebasic, freeswitch, fsharp, gambas, gdb, genero, genie, gettext, glsl, gml, gnuplot, go, groovy, gwbasic, haskell, haxe, hicest, hq9plus, html4strict, html5, icon, idl, ini, inno, intercal, io, j, java, java5, javascript, jquery, kixtart, klonec, klonecpp, latex, lb, ldif, lisp, llvm, locobasic, logtalk, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, magiksf, make, mapbasic, matlab, mirc, mmix, modula2, modula3, mpasm, mxml, mysql, nagios, netrexx, newlisp, nsis, oberon2, objc, objeck, ocaml, ocaml-brief, octave, oobas, oorexx, oracle11, oracle8, oxygene, oz, parasail, parigp, pascal, pcre, per, perl, perl6, pf, php, php-brief, pic16, pike, pixelbender, pli, plsql, postgresql, povray, powerbuilder, powershell, proftpd, progress, prolog, properties, providex, purebasic, pycon, pys60, python, q, qbasic, rails, rebol, reg, rexx, robots, rpmspec, rsplus, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, spark, sparql, sql, stonescript, systemverilog, tcl, teraterm, text, thinbasic, tsql, typoscript, unicon, upc, urbi, uscript, vala, vb, vbnet, vedit, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, whois, winbatch, xbasic, xml, xorg_conf, xpp, yaml, z80, zxbasic npm i axios lodash moment vue --save
"devDependencies": { /// ... "axios": "^0.18", "lodash": "^4.17.4", "moment": "^2.24.0", "vue": "^2.5.22"
composer require laraform/laraform-laravel
|
</source>
- Ahora actualizamos con composer nuestro proyecto
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
- Cuando se le pregunte, seleccionamos : Laraform \ LaraformServiceProvider. Esto publicará un archivo de configuración en config / laraform.php.
OPCIONES DE EXTENSIÓN
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 [ // ]; } }