EXEMPLE. Un blog amb CSRF
Per afegir la funcionalitat d'inserció és necessari mostrar un formulari i acceptar les dades per inserir-les posteriorment a la BBDD. Com en totes les ocasions serà necessari el següent:
- Controlador
- Model (en aquest cas no necessària, ja que tenim totes les funcions necessàries)
- Vista
- Ruta
Un requisit serà activar el filtre CSRF tal com es descriu anteriorment hem d'introduir-lo dins del formulari, així mateix serà necessari mostrar el missatge d'error accedint a la variable de sessió i les flashdata creades, mitjançant session()->getFlashdata('error')
En el CONTROLADOR i la VISTA emprarem el servei de validació automàtica de CI4 [https://codeigniter.com/user_guide/libraries/validation.html]. La instrucció bàsica és validate(RULES) que ens retorna cert o fals en funció si els camps POST han passat la validació.
Les regles de validació s'especifiquen en un array on cada posició és FORM_FIELD_NAME => VALIDATION_RULES el mínim a especificar en les regles de validació són els requisits del camp (obligatorietat, tipus, longitud....) però també es poden especificar el nom del camp en format d'usuari o el missatge a mostrar segons l'error produït.
Els missatges d'error es poden recuperar a la vista emprant el servei de validació. Per fer-ho s'accedeix a service('validation')->listErrors()