Phalcon - Utilisation des formulaires
Les formulaires sont utilisés dans toutes les applications Web pour accepter les entrées de l'utilisateur en tant que demande. Les données sont acceptées en tant qu'entrée, puis manipulées et enregistrées dans la base de données ou toute autre opération est en cours d'exécution.
Phalcon comprend un composant nommé Phalcon\Forms qui aide à la création et à la maintenance des formulaires.
Prenons l'exemple de Blog-tutorial, que nous avons créé dans les chapitres précédents. Il comprend un formulaire utilisé pour créer une nouvelle catégorie.
<?php echo \Phalcon\Tag::form(array("categories/create", "autocomplete" => "off")) ?>
<table width = "100%">
<tr>
<td align = "left">
<?php echo \Phalcon\Tag::linkTo(array("categories", "Go Back", "class" => "btn")) ?>
</td>
<td align = "right"><
?php echo \Phalcon\Tag::submitButton(array("Save", "class" => "btn")) ?>
</td>
<tr>
</table>
<?php echo $this->getContent(); ?>
<div align = "center">
<h1>Create categories</h1>
</div>
<table align = "center">
<tr>
<td align = "right">
<label for = "name">Name</label>
</td>
<td align = "left">
<?php echo \Phalcon\Tag::textField(array("name", "size" => 30)) ?>
</td>
</tr>
<tr>
<td align = "right">
<label for = "slug">Slug</label>
</td>
<td align = "left">
<?php echo \Phalcon\Tag::textField(array("slug", "size" => 30)) ?>
</td>
</tr>
</table>
</form>
Output - Il produira la sortie suivante.
Les champs de saisie du formulaire sont rendus à l'aide de Phalcon/tagcomposant. Chaque élément du formulaire peut être rendu selon les exigences du développeur.
Voici la syntaxe de rendu de la valeur.
echo $form->render(element-name)
Validation -
Une fois les valeurs rendues dans le contrôleur, les valeurs seront entrées dans la base de données à l'aide de modèles. Les formulaires Phalcon sont intégrés au composant de validation pour offrir une validation instantanée. Des validateurs intégrés ou personnalisés peuvent être définis pour chaque élément.
<?php
use Phalcon\Forms\Element\Text;
use Phalcon\Validation\Validator\PresenceOf;
use Phalcon\Validation\Validator\StringLength;
$name = new Text(
"Name"
);
$name->addValidator(
new PresenceOf([ "message" => "name is required", ])
);
$form->add($name);
Output - Il produira la sortie suivante.