Formulaire
Configuration
Lors de formulaire complexe ou qui nécessite une vérification un système a été mis en place sur le framework, pour faciliter et modéliser vos différents formulaires.
Ceci va se faire dans app/Forms/
où vous pourrez créer un fichier comme ceci :
namespace App\Forms;
class ContactForm extends Form
{
public function __construct(array $data)
{
parent::__construct($data);
}
protected const FORM_FIELDS = [
'name',
'email',
'message'
];
}
Utilisation
Et qui pourra être utilisé comme ceci, le but est de vérifier que tous les champs que vous avez configurés sont bien fournis dans le formulaire reçu.
use App\Controllers\Controller;
use App\Forms\ContactForm;
class PageController extends Controller
{
private Mail $mailModel;
public function __construct()
{
$this->mailModel = new Mail();
}
public function contact()
{
$message = '';
$form = new ContactForm($_POST);
if ($form->isSubmit() && $form->isValid()) {
if ($this->mailModel->send(
Mail::ACCOUNT_MAIL,
'DEMANDE DECONTACT',
'contact.php',
$form->getAllData()
)) {
$message = 'Merci de votre contact';
}
}
return view('pages/contact.php', compact( 'message', '_title'));
}
}