Usuario:ManuelRomero/Laravel/formularios

De WikiEducator
Saltar a: navegación, buscar

Crear formularios

Collective


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


Laraform




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:

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


 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 [
            //
        ];
    }
}

Sesiones

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