Diferencia entre revisiones de «Usuario:ManuelRomero/Laravel/formularios»

De WikiEducator
Saltar a: navegación, buscar
(Crear formularios usando Collection)
 
(4 revisiones intermedias por el mismo usuario no mostrado)
Línea 10: Línea 10:
 
  https://laraform.io/
 
  https://laraform.io/
 
  https://gabrielchavez.me/formularios-reactivos-laravel/
 
  https://gabrielchavez.me/formularios-reactivos-laravel/
 +
https://github.com/laraform/laraform
 
}}  
 
}}  
  
 
====Laraforms====
 
====Laraforms====
{{MRM_Actividad|Title=Laraform
+
<br />
 +
{{MRM_Actividad|Title=Laraform|
 
;Qué es
 
;Qué es
 
  Es un generador de formularios que da cobertura tanto en frontend (con Vue) como en backend (con Laravel).
 
  Es un generador de formularios que da cobertura tanto en frontend (con Vue) como en backend (con Laravel).
;¿Hay que usarlo conjutamente ?
+
;¿Hay que usarlo conjutamente (front y back) ?
 
  Ambas bibliotecas (la del front y la del back), se pueden usar conjuntamente o de forma independiente
 
  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.
+
*Hay versión de pago (más pòtencial) y versión gratuita.
 
;Requisitos para uso
 
;Requisitos para uso
 
*Para frontend
 
*Para frontend
Línea 32: Línea 34:
 
  npm i laraform –save
 
  npm i laraform –save
 
</source>
 
</source>
*Para instalar la integración con backend
+
*Debemos tener instaladas las siguientes dependencias
<source lang=bash>
+
<source lang=bahs>
composer require laraform/laraform-laravel
+
npm i axios lodash moment vue --save
 
</source>
 
</source>
*Agretamos en composer.json las siguientes dependencias
+
*Se puede ver el fichero package.json y deben de estar
*Si hubiera dependencias (''''devDependencies''''') las agregamos, si no añadimos todo
+
 
<source lang=php>
 
<source lang=php>
 
"devDependencies": {
 
"devDependencies": {
Línea 45: Línea 46:
 
   "moment": "^2.24.0",
 
   "moment": "^2.24.0",
 
   "vue": "^2.5.22"
 
   "vue": "^2.5.22"
 +
</source>
 +
*Para instalar la integración con backend
 +
<source lang=bash>
 +
composer require laraform/laraform-laravel
 +
</source>
 
}}
 
}}
 
</source>
 
</source>
 
*Ahora actualizamos con composer nuestro proyecto
 
*Ahora actualizamos con composer nuestro proyecto
<source src=bash>
+
<source lang=bash>
 
  composer update
 
  composer update
 
</source>
 
</source>
Línea 57: Línea 63:
 
</source>
 
</source>
 
*Con ello habremos agregado el  service provider de Laraform
 
*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>
 
<source lang=php>
 
  Laraform\LaraformServiceProvider.
 
  Laraform\LaraformServiceProvider.
 
</source>
 
</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 73: 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 01:31 1 nov 2020

Crear formularios

Collective


Icon inter.gif
Creando formuarios con collective
https://laravelcollective.com/docs/5.8/html


Laraform




Laraforms



Icon activity.jpg
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
 npm i laraform –save
  • Debemos tener instaladas las siguientes dependencias

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
  • Se puede ver el fichero package.json y deben de estar
"devDependencies": {
///  ...
  "axios": "^0.18",
  "lodash": "^4.17.4",
  "moment": "^2.24.0",
  "vue": "^2.5.22"
  • Para instalar la integración con backend
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"
    },

}}


Icon activity.jpg
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 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 [
            //
        ];
    }
}

Sesiones

https://styde.net/uso-de-sesiones-en-laravel-5-1/