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; } }
@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> }
Oui, MVC peut transmettre certains
attributsAjouter 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 courantesDans 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 :
public class UserInfo { public string UserName { get; set; } public string Sex { get; set; } public string Mobile { get; set; } public string Address { get; set; } }
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.
public partial class UserInfo { [Required(ErrorMessage = "UserName不可为空1111")] public string UserName { get; set; } }
Nous pouvons écrire :
[MetadataType(typeof(MeteUserInfo))] public partial class UserInfo { private class MeteUserInfo { [Required(ErrorMessage = "UserName不可为空1111")] public string UserName { get; set; } } }
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!