Maison  >  Article  >  développement back-end  >  Comment utiliser la validation de formulaire dans le framework CakePHP ?

Comment utiliser la validation de formulaire dans le framework CakePHP ?

WBOY
WBOYoriginal
2023-06-04 19:31:46786parcourir

CakePHP framework est un framework PHP populaire qui fournit un mécanisme de validation de formulaire riche en fonctionnalités qui peut aider les développeurs à traiter les données de formulaire plus facilement, plus efficacement et de manière fiable. Dans cet article, nous présenterons comment utiliser la validation de formulaire dans le framework CakePHP.

  1. Créer un formulaire

Tout d'abord, nous devons créer un formulaire qui sera utilisé pour soumettre les données au serveur pour traitement. Dans le framework CakePHP, nous pouvons utiliser la classe d'assistance de formulaire, qui fournit des méthodes pour créer des formulaires et peut ajouter automatiquement des règles de validation de formulaire. Ce qui suit est un exemple de formulaire simple :

<?= $this->Form->create($user) ?>
    <?= $this->Form->input('username') ?>
    <?= $this->Form->input('password') ?>
    <?= $this->Form->button(__('Submit')) ?>
<?= $this->Form->end() ?>

Dans le code ci-dessus, nous utilisons la méthode $this->Form->create() pour créer le formulaire, Et passé une variable nommée $user comme source de données du formulaire. Ensuite, nous avons utilisé la méthode $this->Form->input() pour créer deux zones de saisie de formulaire pour saisir les noms d'utilisateur et les mots de passe. Enfin, nous utilisons la méthode $this->Form->button() pour créer un bouton de soumission Lorsque l'utilisateur clique sur le bouton, les données du formulaire seront soumises au serveur. $this->Form->create()方法来创建表单,并传递了一个名为$user的变量作为表单数据源。然后,我们使用$this->Form->input()方法创建了两个表单输入框,用于输入用户名和密码。最后,我们使用$this->Form->button()方法创建了一个提交按钮,当用户点击该按钮时,表单数据将被提交到服务器端。

  1. 创建验证规则

接下来,我们需要创建一些验证规则,用于确保提交的表单数据符合我们的要求。在CakePHP框架中,我们可以使用验证组件,它提供了一些内置的验证规则,如必填、最小长度、最大值等。

以下是一个简单的验证规则示例:

<?php
namespace AppModelEntity;

use CakeORMEntity;
use CakeAuthDefaultPasswordHasher;

class User extends Entity
{
    protected $_accessible = [
        '*' => true,
        'id' => false
    ];

    protected function _setPassword($password)
    {
        return (new DefaultPasswordHasher)->hash($password);
    }

    public function validationDefault(Validator $validator)
    {
        $validator
            ->notEmptyString('username', __('Username cannot be empty'))
            ->maxLength('username', 50, __('Username cannot be longer than 50 characters'))
            ->notEmptyString('password', __('Password cannot be empty'))
            ->maxLength('password', 255, __('Password cannot be longer than 255 characters'));

        return $validator;
    }
}

在上面的代码中,我们创建了一个名为User的实体类,并定义了一个名为validationDefault()的方法。在这个方法中,我们使用验证器对象来定义了几个验证规则,如用户名必填、用户名长度不能超过50个字符、密码必填、密码长度不能超过255个字符等。

  1. 应用验证规则

最后,我们需要将验证规则应用到我们的表单中,这将确保提交的表单数据符合我们的要求。在CakePHP框架中,我们可以使用以下步骤来应用验证规则:

public function add()
{
    $user = $this->Users->newEntity();
    if ($this->request->is('post')) {
        $user = $this->Users->patchEntity($user, $this->request->getData());
        if ($this->Users->save($user)) {
            $this->Flash->success(__('The user has been saved.'));

            return $this->redirect(['action' => 'index']);
        }
        $this->Flash->error(__('The user could not be saved. Please, try again.'));
    }
    $this->set(compact('user'));
    $this->viewBuilder()->setLayout('login');
}

在上面的代码中,我们创建了一个名为add()的方法,用于处理表单提交。在这个方法中,我们首先创建了一个名为$user的实体对象,用于存储表单数据。然后,我们使用$this->Users->patchEntity()方法将提交的表单数据填充到实体对象中,并使用$this->Users->save()方法保存实体对象。

如果保存成功,我们使用$this->Flash->success()方法显示成功消息,并重定向到用户列表页面。如果保存失败,我们使用$this->Flash->error()方法显示错误消息,并重新渲染表单页面。

最后,我们将实体对象传递给视图,并设置视图布局为login

总结

在本文中,我们介绍了如何在CakePHP框架中使用表单验证。您可以使用表单辅助类创建表单,使用验证组件创建验证规则,并使用patchEntity()

    Créer des règles de validation#🎜🎜##🎜🎜##🎜🎜#Ensuite, nous devons créer des règles de validation pour garantir que les données du formulaire soumises sont conformes à nos exigences. Dans le framework CakePHP, nous pouvons utiliser le composant de validation, qui fournit certaines règles de validation intégrées, telles que la longueur requise, la longueur minimale, la valeur maximale, etc. #🎜🎜##🎜🎜#Ce qui suit est un exemple de règle de validation simple : #🎜🎜#rrreee#🎜🎜#Dans le code ci-dessus, nous créons une classe d'entité nommée Utilisateur, et définissons une méthode nommée validationDefault(). Dans cette méthode, nous utilisons l'objet validateur pour définir plusieurs règles de vérification, telles que le nom d'utilisateur est requis, le nom d'utilisateur ne peut pas dépasser 50 caractères, le mot de passe est requis et la longueur du mot de passe ne peut pas dépasser 255 caractères, etc. #🎜🎜#
      #🎜🎜#Appliquer les règles de validation #🎜🎜##🎜🎜##🎜🎜#Enfin, nous devons appliquer les règles de validation à notre formulaire, cela garantira que le formulaire soumis Les données du formulaire répondent à nos exigences. Dans le framework CakePHP, nous pouvons utiliser les étapes suivantes pour appliquer les règles de validation : #🎜🎜#rrreee#🎜🎜#Dans le code ci-dessus, nous avons créé une méthode appelée pour traiter les soumissions de formulaires. Dans cette méthode, nous créons d'abord un objet entité nommé $user pour stocker les données du formulaire. Nous utilisons ensuite la méthode $this->Users->patchEntity() pour remplir les données du formulaire soumis dans l'objet entité et utilisons $this->Users->save. () enregistre l'objet entité. #🎜🎜##🎜🎜#Si la sauvegarde est réussie, nous utilisons la méthode $this->Flash->success() pour afficher un message de réussite et rediriger vers la page de la liste des utilisateurs. Si la sauvegarde échoue, nous utilisons la méthode $this->Flash->error() pour afficher le message d'erreur et restituer la page du formulaire. #🎜🎜##🎜🎜#Enfin, nous passons l'objet entité à la vue et définissons la disposition de la vue sur login. #🎜🎜##🎜🎜#Summary#🎜🎜##🎜🎜#Dans cet article, nous avons présenté comment utiliser la validation de formulaire dans le framework CakePHP. Vous pouvez utiliser la classe d'assistance de formulaire pour créer le formulaire, utiliser le composant de validation pour créer des règles de validation et utiliser la méthode patchEntity() pour remplir les données du formulaire dans l'objet entité. Lorsque vous essayez de sauvegarder un objet entité, le framework CakePHP appliquera automatiquement les règles de validation et renverra un message d'erreur de validation. Ces fonctionnalités font du framework CakePHP un outil puissant qui vous aide à travailler plus facilement avec les données de formulaire. #🎜🎜#

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn