Experts en Drupal

Com crear formularis en Drupal 8 utilitzant form api

Tutorial pas a pas

Formularis Drupal 8
Dani Fernandez
Daniel Fernandez

gener 16, 2020

Què és form api?

La form api de Drupal és un grup de classes que ens permet generar un formulari especificant la seva estructura mitjançant un array i alhora, ens permet crear funcions per validar i processar la informació que és enviada per l'usuari. Fer ús d'aquest sistema per crear formularis ens permetrà crear uns formularis més consistents, ja que no caldrà crear manualment cadascuna de les plantilles, agilitzar la creació de nous formularis i millorar la seguretat, ja que form api automàticament neteja la informació que ha estat enviada.

Com fer ús de form api?

El primer que necessitarem per crear un formulari serà crear el mòdul en què es trobaran les classes que el formen, en aquest cas al mòdul li posarem el nom form_api: Primer, crearem la carpeta del mòdul dins de drupal / modules.

Form Api Drupal 8

Després crearem l'arxiu form_api.info.yml que és l'encarregat de definir la informació bàsica del mòdul.

Form Api info yml

Ara crearem la ruta que ens portarà a l'formulari. Cal crear un arxiu anomenat form_api.routing.yml i dins d'ell mateix definirem la ruta que volem per al formulari, el seu títol i especificarem la classe encarregada de generar el formulari.

Form api routing drupal

Un cop creada la ruta, declararem la classe de l'formulari dins de la carpeta modules / form_api / src / Form. En aquest cas la classe de l'formulari té el nom de TestForm.

Test form api drupal

Al crear la classe, primer afegirem les dependències FrinBase i FrinStateInterface mitjançant la comanda "use".

frin base drupal

Ara afegirem la funció buildForm que és l'encarregada de generar el formulari, utilitzarem la matriu $ form per definir tots els camps que formen part d'ell.

Build form test form api drupal

Un cop creat el formulari hem de crear les funcions per a la validació i l'enviament del formulari en qüestió. Començarem per la validació, en què validarem que els elements del formulari no estiguin buits.

Validacion form api drupal

Ara, crearem el mètode d'enviament, en aquest cas a l'enviar el formulari s'imprimirà com a missatge els valors de la mateixa.

metodo de envio

Ja podem procedir a provar el nostre formulari, com podem veure tots els camps que hem afegit a la matriu ara són camps amb els quals podem interactuar. Un cop omplim el formulari i l'enviem hauria de mostrar el valor dels nostres camps.

Formulario contacto


Provem d'enviar-lo i podem veure com es mostren el valor dels camps que hem introduït.

Formulario enviado

Si per exemple, volem modificar aquest formulari perquè ens permeti guardar informació dins d'un tipus de contingut caldrà modificar la funció submitForm i fer que guardi una nova entrada a la base de dades.

 

Comparteix aquest article

Articles Relacionats