Avec le développement rapide d'Internet, les applications Web sont devenues de plus en plus un élément indispensable de la vie des gens. Les formulaires sont l'un des éléments indispensables des applications Web. Ils sont utilisés pour collecter les données des utilisateurs afin que les applications Web puissent mieux servir les utilisateurs.
Le framework Yii est un framework PHP rapide, efficace et flexible qui peut aider les développeurs à développer des applications Web plus rapidement. Le Form Builder du framework Yii permet aux développeurs de créer facilement des formulaires complexes, offrant ainsi aux applications Web une meilleure expérience utilisateur.
Cet article présentera le générateur de formulaires dans le framework Yii, en se concentrant sur la façon d'utiliser ce générateur pour créer des formulaires complexes.
1. Introduction au générateur de formulaires Yii
Le générateur de formulaires Yii est un composant du framework Yii et est utilisé pour créer des formulaires Web. Il fournit une interface de programmation simple et orientée objet pour créer facilement des éléments de formulaire courants tels que des zones de texte, des cases à cocher, des boutons radio, des listes déroulantes, etc.
En plus de créer des formulaires, le générateur de formulaires Yii possède de nombreuses autres fonctions. Par exemple, il peut valider automatiquement les entrées de formulaire et fournir une validation basée sur le client pour éviter une validation inutile côté serveur. Il prend également en charge l'affectation par lots de formulaires et la gestion des erreurs de formulaire, afin que les développeurs puissent facilement détecter les erreurs de formulaire et les gérer.
2. Créer un formulaire simple
Dans le framework Yii, il est très pratique d'utiliser le générateur de formulaire pour créer un formulaire. Voici un exemple de formulaire simple :
<?php use yiihelpersHtml; use yiiwidgetsActiveForm; $form = ActiveForm::begin(); echo $form->field($model, 'name'); echo $form->field($model, 'email'); echo $form->field($model, 'password')->passwordInput(); echo Html::submitButton('Submit', ['class' => 'btn btn-primary']); ActiveForm::end();
Le code ci-dessus utilise les contrôles ActiveForm pour créer un formulaire. Pour chaque champ qui doit être ajouté au formulaire, utilisez la méthode $form->field($model, 'attribute')
. Parmi eux, $model est le modèle à lier au formulaire et « attribut » est l'attribut du modèle. $form->field($model, 'attribute')
方法。其中,$model是要绑定到表单的模型,'attribute'是模型的属性。
在上述例子中,表单中有三个字段:'name'、'email'和'password'。'password'字段使用passwordInput()方法以密码输入框的形式呈现。
最后,使用Html::submitButton
Html::submitButton
pour ajouter un bouton de soumission. Le bouton de soumission est équivalent au type="submit" de la balise d'entrée dans le formulaire HTML. 3. Créer des formulaires complexesFormulaires imbriqués
Dans le framework Yii, vous pouvez facilement utiliser des formulaires imbriqués pour créer des formulaires complexes. Par exemple, nous devons créer un formulaire avec un champ d'adresse. Le champ d'adresse comprend trois sous-champs : province, ville et district/comté. Dans le formulaire, nous pouvons imbriquer ces trois sous-champs dans un champ de tableau d'adresses, comme indiqué ci-dessous :<?php use yiihelpersHtml; use yiiwidgetsActiveForm; $form = ActiveForm::begin(); echo $form->field($model, 'name'); echo $form->field($model, 'email'); echo $form->field($model, 'address[province]'); echo $form->field($model, 'address[city]'); echo $form->field($model, 'address[district]'); echo Html::submitButton('Submit', ['class' => 'btn btn-primary']); ActiveForm::end();
Ajouter/supprimer dynamiquement des champs
Dans le développement réel, nous devons généralement ajouter/supprimer dynamiquement des champs de formulaire pour mieux nous adapter aux différents besoins des utilisateurs. Dans le framework Yii, nous pouvons utiliser JavaScript pour implémenter la fonction d'ajout/suppression dynamique de champs. Par exemple, nous devons créer un formulaire qui ajoute/supprime dynamiquement des adresses e-mail. Dans le formulaire, nous pouvons utiliser JavaScript pour implémenter la fonctionnalité d'ajout et de suppression de boutons, comme indiqué ci-dessous :<?php use yiihelpersHtml; use yiiwidgetsActiveForm; $form = ActiveForm::begin(); echo $form->field($model, 'name'); echo $form->field($model, 'email[]')->textInput(['class' => 'email-field']); echo Html::button('Add Email', ['class' => 'add-email']); echo Html::submitButton('Submit', ['class' => 'btn btn-primary']); ActiveForm::end(); ?> <script> $(document).ready(function(){ var emailCount = 1; $('.add-email').click(function(){ emailCount++; var html = '<div class="form-group"><label>Email</label><input type="text" class="form-control email-field" name="email[]"></div>'; $(html).appendTo('#email_wrapper'); return false; }); $(document).on('click', '.remove-email', function(){ $(this).closest('.form-group').remove(); emailCount--; return false; }); }); </script>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!