Créer un formulaire sans modèle

Dans certaines situations il est nécessaire de créer un formulaire qui ne soit rattaché à aucun modèle. C’est le cas d’un formulaire de contact par exemple.

1. Définir le formulaire

La première chose à faire est de créer un fichier contenant une classe qui étend la classe Form dans le dossier src/Form. Le nom du fichier correspond au nom de la classe créée suivi de l’extension ".php".

Exemple :

Le code ci-dessous permet de créer une classe pour un formulaire de contact dans le fichier src/Form/ContactForm.php :


namespace App\Form;  
use Cake\Form\Form;  
use Cake\Form\Schema;  
use Cake\Validation\Validator;  
class ContactForm extends Form{  
// Code de la classe  
}
 

Cette classe va contenir trois méthodes privées :

  • _buildSchema(), qui sert à définir le schéma des données utilisées par l’assistant Form pour créer le formulaire.

  • _buildValidator(), pour valider les données qui sont transmises par le formulaire.

  • _execute(), qui effectue un traitement sur les données transmises par le formulaire après leur validation.

Exemple :

Le code ci-dessous implémente les méthodes _buildSchema(), _buildValidator() et _execute().


namespace App\Form;  
use Cake\Form\Form;  
use Cake\Form\Schema;  
use Cake\Validation\Validator;  
class ContactForm extends Form{      
protected...
Pour consulter la suite, découvrez le livre suivant :
couv_EP3CAK.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Gérer les messages Flash
Suivant
Requêtes Ajax