Maison développement back-end tutoriel php Partager l'introduction de l'exemple de validation des données MVC

Partager l'introduction de l'exemple de validation des données MVC

Jun 15, 2017 pm 01:48 PM
mvc 数据验证

Cet article présente principalement en détail les informations pertinentes sur la vérification des données MVC, qui ont une certaine valeur de référence. Les amis intéressés peuvent s'y référer

Situation générale

Pour ceux qui ont utilisé le framework MVC, la vérification des données MVC sera familière. Par exemple, j'ai un modèle comme suit :


public class UserInfo
  {
    [Required(ErrorMessage = "UserName不可为空1111")]
    public string UserName { get; set; }
    public string Sex { get; set; }
    public string Mobile { get; set; }
    public string Address { get; set; }
  }
Copier après la connexion
Front-end : <. 🎜>


Effet :
@using (Html.BeginForm()) 
{
  @Html.AntiForgeryToken()
  <p class="form-horizontal">
    <h4>UserInfo</h4>
    <hr />
    @Html.ValidationSummary(true, "", new { @class = "text-danger" })
    <p class="form-group">
      @Html.LabelFor(model => model.UserName, htmlAttributes: new { @class = "control-label col-md-2" })
      <p class="col-md-10">
        @Html.EditorFor(model => model.UserName, new { htmlAttributes = new { @class = "form-control" } })
        @Html.ValidationMessageFor(model => model.UserName, "", new { @class = "text-danger" })
      </p>
    </p>
    <p class="form-group">
      @Html.LabelFor(model => model.Sex, htmlAttributes: new { @class = "control-label col-md-2" })
      <p class="col-md-10">
        @Html.EditorFor(model => model.Sex, new { htmlAttributes = new { @class = "form-control" } })
        @Html.ValidationMessageFor(model => model.Sex, "", new { @class = "text-danger" })
      </p>
    </p>
    <p class="form-group">
      @Html.LabelFor(model => model.Mobile, htmlAttributes: new { @class = "control-label col-md-2" })
      <p class="col-md-10">
        @Html.EditorFor(model => model.Mobile, new { htmlAttributes = new { @class = "form-control" } })
        @Html.ValidationMessageFor(model => model.Mobile, "", new { @class = "text-danger" })
      </p>
    </p>
    <p class="form-group">
      @Html.LabelFor(model => model.Address, htmlAttributes: new { @class = "control-label col-md-2" })
      <p class="col-md-10">
        @Html.EditorFor(model => model.Address, new { htmlAttributes = new { @class = "form-control" } })
        @Html.ValidationMessageFor(model => model.Address, "", new { @class = "text-danger" })
      </p>
    </p>
    <p class="form-group">
      <p class="col-md-offset-2 col-md-10">
        <input type="submit" value="Create" class="btn btn-default" />
      </p>
    </p>
  </p>
}
Copier après la connexion

Oui, MVC peut transmettre certains

attributs

Ajouter certaines fonctionnalités pour vérifier les données. Cela n’est peut-être pas inconnu de tout le monde. Si c’est tout, alors ça va.

2. Situations courantes

Dans le développement réel, nous utilisons principalement EF ou d'autres méthodes pour créer chaque table ou

vue de la base de données

, toutes correspondent à une classe modèle dans le code. Nous ne devons pas modifier le modèle généré via la base de données, même si nous ajoutons quelques fonctionnalités de vérification des données à certains attributs de cette classe, puis, après le. modifications de la base de données, si je régénère ces modèles, les fonctionnalités de vérification que nous avons ajoutées auparavant disparaîtront. Alors, comment résoudre ce problème ? Supposons :


UserInfo est un modèle généré via la base de données. Nous ne devons pas modifier le modèle généré par la base de données. Mais autrement dit, nous devons effectuer une vérification des données sur certains attributs de ce modèle. Par exemple, nous devons effectuer une vérification non nulle sur l'attribut UserName. Alors, comment procédons-nous ?
public class UserInfo
  {  
    public string UserName { get; set; }
    public string Sex { get; set; }
    public string Mobile { get; set; }
    public string Address { get; set; }
  }
Copier après la connexion

Tout le monde pense généralement à une classification partielle. Oui, nous pouvons résoudre les problèmes ci-dessus grâce à une classification partielle.

Tout d'abord, nous ajoutons le mot-clé partial à la classe dans le modèle, puis nous écrivons une classe partielle de ce modèle.


Cependant, cela nous provoquera une erreur, c'est-à-dire qu'il y a des attributs en double dans la classe Oui, dans certaines classes, les attributs ne peuvent pas avoir le même nom. . Alors, que devons-nous faire ? Le framework MVC nous a déjà apporté une solution.
public partial class UserInfo
  {
    [Required(ErrorMessage = "UserName不可为空1111")]
    public string UserName { get; set; }
  }
Copier après la connexion

Nous pouvons écrire :


De cette façon, notre problème ci-dessus sera facilement résolu.
[MetadataType(typeof(MeteUserInfo))]
  public partial class UserInfo
  {
    private class MeteUserInfo
    {
      [Required(ErrorMessage = "UserName不可为空1111")]
      public string UserName { get; set; }
    }
  }
Copier après la connexion

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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment créer une liste déroulante avec des symboles dans Excel Comment créer une liste déroulante avec des symboles dans Excel Apr 14, 2023 am 09:04 AM

Créer une liste déroulante dans une feuille de calcul Excel est simple, à condition qu'il s'agisse d'un menu déroulant standard. Mais que se passe-t-il si vous devez le rendre spécial en ajoutant un symbole spécial, ou le rendre encore plus spécial en ajoutant du texte ainsi que des symboles ? Ok, cela semble intéressant, mais vous vous demandez si cela est possible ? Quelle est la réponse que vous ne connaissez pas lorsque Geek Page est là pour vous aider ? Cet article concerne la création de menus déroulants avec des symboles ainsi que des symboles et du texte. J'espère que vous avez apprécié la lecture de cet article ! Lisez également : Comment ajouter un menu déroulant dans Microsoft Excel Partie 1 : Créer une liste déroulante avec des symboles uniquement Pour créer un menu déroulant avec des symboles, nous devons d'abord créer la source

Architecture PHP MVC : créer des applications Web pour le futur Architecture PHP MVC : créer des applications Web pour le futur Mar 03, 2024 am 09:01 AM

Introduction Dans le monde numérique en évolution rapide d'aujourd'hui, il est crucial de créer des applications WEB robustes, flexibles et maintenables. L'architecture PHPmvc fournit une solution idéale pour atteindre cet objectif. MVC (Model-View-Controller) est un modèle de conception largement utilisé qui sépare les différents aspects d'une application en composants indépendants. Les fondements de l'architecture MVC Le principe fondamental de l'architecture MVC est la séparation des préoccupations : Modèle : encapsule les données et la logique métier de l'application. Vue : responsable de la présentation des données et de la gestion des interactions des utilisateurs. Contrôleur : coordonne l'interaction entre les modèles et les vues, gère les demandes des utilisateurs et la logique métier. Architecture PHPMVC L'architecture phpMVC suit le modèle MVC traditionnel mais introduit également des fonctionnalités spécifiques au langage. Ce qui suit est PHPMVC

Exemple de nouveautés en PHP8 : Comment utiliser les déclarations de types et le code pour renforcer la validation des données ? Exemple de nouveautés en PHP8 : Comment utiliser les déclarations de types et le code pour renforcer la validation des données ? Sep 12, 2023 pm 01:21 PM

Exemple de nouveautés en PHP8 : Comment utiliser les déclarations de types et le code pour renforcer la validation des données ? Introduction : Avec la sortie de PHP8, les développeurs ont accueilli une série de nouvelles fonctionnalités et améliorations. L’un des plus intéressants est la possibilité pour les déclarations de type et le code d’appliquer la validation des données. Cet article utilisera quelques exemples pratiques pour présenter comment utiliser ces nouvelles fonctionnalités pour renforcer la validation des données et améliorer la lisibilité et la maintenabilité du code. Avantages de la déclaration de type : Avant PHP7, le type des variables pouvait être modifié à volonté, ce qui apportait de grandes difficultés à la vérification des données.

Un guide avancé de l'architecture PHP MVC : débloquer des fonctionnalités avancées Un guide avancé de l'architecture PHP MVC : débloquer des fonctionnalités avancées Mar 03, 2024 am 09:23 AM

L'architecture MVC (Model-View-Controller) est l'un des modèles les plus populaires dans le développement PHP car elle fournit une structure claire pour organiser le code et simplifier le développement d'applications WEB. Bien que les principes de base de MVC soient suffisants pour la plupart des applications Web, ils présentent certaines limites pour les applications qui doivent gérer des données complexes ou implémenter des fonctionnalités avancées. Séparation de la couche modèle La séparation de la couche modèle est une technique courante dans l'architecture MVC avancée. Cela implique de diviser une classe de modèle en sous-classes plus petites, chacune se concentrant sur une fonctionnalité spécifique. Par exemple, pour une application de commerce électronique, vous pouvez diviser la classe de modèle principale en un modèle de commande, un modèle de produit et un modèle client. Cette séparation contribue à améliorer la maintenabilité et la réutilisation du code. Utiliser l'injection de dépendances

Comment utiliser la validation des données Excel-Comment utiliser la validation des données Excel Comment utiliser la validation des données Excel-Comment utiliser la validation des données Excel Mar 04, 2024 pm 12:25 PM

Savez-vous comment utiliser la vérification des données Excel ? Ci-dessous, l'éditeur vous expliquera comment utiliser la vérification des données Excel. J'espère que cela sera utile à tout le monde. Apprenons avec l'éditeur 1. Tout d'abord, dans le tableau EXCEL, sélectionnez le. requis Définissez la cellule pour l'option déroulante, comme indiqué dans la figure ci-dessous : 2. Cliquez ensuite sur [Données] dans la barre de menu, comme indiqué dans la figure ci-dessous : 3. Après avoir ouvert le menu des données, vous verrez le [ Validation des données], cliquez sur [Données] Après vérification], continuez à cliquer sur [Vérification des données] dans les options ouvertes pour ouvrir la fenêtre de vérification des données pour les paramètres, comme le montre la figure ci-dessous : Ce qui précède est l'intégralité du contenu de la façon d'utiliser Vérification des données Excel apportée par l'éditeur. J'espère que cela vous sera utile. Tout le monde peut vous aider.

Comment effectuer une vérification de la fiabilité des données et une évaluation du modèle en Python Comment effectuer une vérification de la fiabilité des données et une évaluation du modèle en Python Oct 20, 2023 pm 04:06 PM

Comment effectuer la vérification de la fiabilité des données et l'évaluation du modèle en Python La vérification de la fiabilité des données et l'évaluation du modèle sont des étapes très importantes lorsque l'on travaille avec des modèles d'apprentissage automatique et de science des données. Cet article explique comment utiliser Python pour la vérification de la fiabilité des données et l'évaluation des modèles, et fournit des exemples de code spécifiques. Validation de la fiabilité des données La validation de la fiabilité des données fait référence à la vérification des données utilisées pour déterminer leur qualité et leur fiabilité. Voici quelques données couramment utilisées disponibles

Comment gérer les erreurs d'incohérence des données entre l'environnement de développement et l'environnement de production dans le développement du langage PHP ? Comment gérer les erreurs d'incohérence des données entre l'environnement de développement et l'environnement de production dans le développement du langage PHP ? Jun 10, 2023 am 10:31 AM

Avec le développement rapide d'Internet, les tâches des développeurs sont également devenues diverses et complexes. Surtout pour les développeurs de langage PHP, l'un des problèmes les plus courants rencontrés au cours du processus de développement est l'erreur d'incohérence des données entre l'environnement de développement et l'environnement de production. Par conséquent, la manière de gérer ces erreurs est un problème important auquel les développeurs doivent faire face lors du développement d’applications PHP. La différence entre l'environnement de développement et l'environnement de production La première chose à préciser est que l'environnement de développement et l'environnement de production sont différents et qu'ils ont des paramètres et des configurations différents. dans un environnement de développement

Validation de formulaire ThinkPHP6 et validation des données : garantir la légalité des données Validation de formulaire ThinkPHP6 et validation des données : garantir la légalité des données Aug 26, 2023 pm 01:55 PM

Validation des formulaires ThinkPHP6 et validation des données : garantir la légalité des données Dans le processus de développement d'applications Web, la validation des formulaires est un élément important pour garantir la légalité et l'intégrité des données. Le framework ThinkPHP6 fournit de puissantes fonctions de validation de formulaire et de validation de données, qui peuvent simplifier le processus de développement et nous aider à réduire l'apparition d'erreurs et de vulnérabilités. 1. Déclaration des règles de validation de validation de formulaire ThinkPHP6 prend en charge l'utilisation d'annotations pour déclarer des règles de validation pour la méthode de requête du contrôleur. Nous pouvons le faire sur la méthode de requête du contrôleur

See all articles