Usuario:ManuelRomero/Laravel/formularios

De WikiEducator
< Usuario:ManuelRomero‎ | Laravel
Revisión a fecha de 01:31 1 nov 2020; ManuelRomero (Discusión | contribuciones)

(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Saltar a: navegación, buscar

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/