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.
Després crearem l'arxiu form_api.info.yml que és l'encarregat de definir la informació bàsica del mòdul.
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.
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.
Al crear la classe, primer afegirem les dependències FrinBase i FrinStateInterface mitjançant la comanda "use".
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.
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.
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.
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.
Provem d'enviar-lo i podem veure com es mostren el valor dels camps que hem introduït.
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