旗下导航:搜·么
当前位置:网站首页 > .Net教程 > 正文

总结MVC中数据考证实例【C#.Net教程】,验证,数据,浅谈

作者:搜教程发布时间:2019-11-27分类:.Net教程浏览:46评论:0


导读:一、平常状况关于使用过MVC框架的人来讲,对MVC的数据考证不会生疏,比方,我有一个Model以下:1publicclassUserInfo2...
一、平常状况

关于使用过MVC框架的人来讲,对MVC的数据考证不会生疏,比方,我有一个Model以下:

1     public class UserInfo2     {3         [Required(ErrorMessage = "UserName不可为空1111")]4         public string UserName { get; set; }5         public string Sex { get; set; }6         public string Mobile { get; set; }7         public string Address { get; set; }8     }

前端:

 1 @using (Html.BeginForm()) 
 2 { 3     @Html.AntiForgeryToken() 4     <div class="form-horizontal"> 5         <h4>UserInfo</h4> 6         <hr /> 7         @Html.ValidationSummary(true, "", new { @class = "text-danger" }) 8         <div class="form-group"> 9             @Html.LabelFor(model => model.UserName, htmlAttributes: new { @class = "control-label col-md-2" })10             <div class="col-md-10">11                 @Html.EditorFor(model => model.UserName, new { htmlAttributes = new { @class = "form-control" } })12                 @Html.ValidationMessageFor(model => model.UserName, "", new { @class = "text-danger" })13             </div>14         </div>15         <div class="form-group">16             @Html.LabelFor(model => model.Sex, htmlAttributes: new { @class = "control-label col-md-2" })17             <div class="col-md-10">18                 @Html.EditorFor(model => model.Sex, new { htmlAttributes = new { @class = "form-control" } })19                 @Html.ValidationMessageFor(model => model.Sex, "", new { @class = "text-danger" })20             </div>21         </div>22         <div class="form-group">23             @Html.LabelFor(model => model.Mobile, htmlAttributes: new { @class = "control-label col-md-2" })24             <div class="col-md-10">25                 @Html.EditorFor(model => model.Mobile, new { htmlAttributes = new { @class = "form-control" } })26                 @Html.ValidationMessageFor(model => model.Mobile, "", new { @class = "text-danger" })27             </div>28         </div>29         <div class="form-group">30             @Html.LabelFor(model => model.Address, htmlAttributes: new { @class = "control-label col-md-2" })31             <div class="col-md-10">32                 @Html.EditorFor(model => model.Address, new { htmlAttributes = new { @class = "form-control" } })33                 @Html.ValidationMessageFor(model => model.Address, "", new { @class = "text-danger" })34             </div>35         </div>36         <div class="form-group">37             <div class="col-md-offset-2 col-md-10">38                 <input type="submit" value="Create" class="btn btn-default" />39             </div>40         </div>41     </div>42 }

结果:

是的,MVC能够经由过程对一些属性增添肯定的特征来对数据举行考证。这对人人来讲能够并不生疏。

如果仅仅是如许就完事了,那末也就没事么意义了。

二、经常使用状况

在现实的开辟中,我们大都是经由过程EF,或许其他体式格局,使得数据库中的每个表或视图,都在代码中对应的一个类模子,关于经由过程数据库生成的模子,我们不宜修正,退一步讲,纵然我们在这个类中对一些属性增添一些数据考证的特征,那末,数据库发生变化后,如果我再从新生成这些Model,我们之前增添好的考证特征将没有了,那末,我们怎样处理如许的题目呢?

如果:

1     public class UserInfo2     {    
3         public string UserName { get; set; }4         public string Sex { get; set; }5         public string Mobile { get; set; }6         public string Address { get; set; }7     }

UserInfo是经由过程数据库生成的一个模子,关于数据库生成的模子,我们不宜修正。但那是,我们又需要对这个模子中的某些属性举行数据考证,比方需要对UserName属性举行非空考证,那末我们怎样做呢?

人人通常会想到部分类,是的,我们能够经由过程部分类来处理上述题目。

起首,我们将模子中的类加上关键字 partial ,然后我们再写一个这个模子的部分类。

1     public partial class UserInfo2     {3         [Required(ErrorMessage = "UserName不可为空1111")]4         public string UserName { get; set; }5     }

然则,如许会提醒我们一个毛病,就是类中存在反复的属性,是的,部分类中,属性是不能够重名的。那末,我们该怎么办呢,MVC框架已给了我们处理方案了。

我们能够这么写:

1     [MetadataType(typeof(MeteUserInfo))]2     public partial class UserInfo3     {4         private class  MeteUserInfo5         {6             [Required(ErrorMessage = "UserName不可为空1111")]7             public string UserName { get; set; }8         }9     }

如许,我们上述的题目就水到渠成了。

以上就是总结MVC中数据考证实例的细致内容,更多请关注ki4网别的相干文章!

标签:验证数据浅谈


欢迎 发表评论: