MVC校验
MVC校验
天色已晚,只是此周既然已安排是要写一篇关于此的一篇文章,那么,也就写吧,只是大脑小疲惫(uhtl),写得可能不大好,诸君勿怪。
那么,第一步,就是先创建一个MVC的项目,第二步就是在MVC中的Model下写一个类,比如就叫User的一个类吧。然后它有几个属性,第一个是Id,这个是必须有的,第二个是名字,这个是不能超过6个字符的,第三个是邮箱,用户输入必须输入正确的邮箱格式才可,第四个就是年龄,年龄是需要在0到150之间的才可以。
那么这个用户类将是这样写的:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 6 namespace _1208.Models 7 { 8 public class User 9 { 10 public int Id { get; set; } 11 public string Name { get; set; } 12 public string Email { get; set; } 13 public string Age { get; set; } 14 } 15 }
接着,再创建一个叫User的控制器,控制器的话就创建一个空的或者有读写操作的控制器或者是空的控制器再一会在空的控制器里加一个Create或者Register的一个控制器也就可以了,此处只是为了演示一下增加时的一个验证。
图如下:
当创建视图的时候就创建create的视图的时候,如果没有将我们写的项目重新生成一下是会有一个小错误的,就是当你选模型类的时候后面会有一个小冒号告诉你,没有可选的模板,如果是遇到这种情况,我们就先将我们写的项目重新生成一下也就会有我们选择的模板了。其选择不了模板的图如下:
重新生成后我们选择我们的User模型类,支架模板选择Create,则会帮我们生成一个前台的页面,其代码如下:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 @model _1208.Models.User 2 3 @{ 4 ViewBag.Title = "Create"; 5 } 6 7 <h2>Create</h2> 8 9 @using (Html.BeginForm()) { 10 @Html.AntiForgeryToken() 11 @Html.ValidationSummary(true) 12 13 <fieldset> 14 <legend>User</legend> 15 16 <div class="editor-label"> 17 @Html.LabelFor(model => model.Name) 18 </div> 19 <div class="editor-field"> 20 @Html.EditorFor(model => model.Name) 21 @Html.ValidationMessageFor(model => model.Name) 22 </div> 23 24 <div class="editor-label"> 25 @Html.LabelFor(model => model.Email) 26 </div> 27 <div class="editor-field"> 28 @Html.EditorFor(model => model.Email) 29 @Html.ValidationMessageFor(model => model.Email) 30 </div> 31 32 <div class="editor-label"> 33 @Html.LabelFor(model => model.Age) 34 </div> 35 <div class="editor-field"> 36 @Html.EditorFor(model => model.Age) 37 @Html.ValidationMessageFor(model => model.Age) 38 </div> 39 40 <p> 41 <input type="submit" value="Create" /> 42 </p> 43 </fieldset> 44 } 45 46 <div> 47 @Html.ActionLink("Back to List", "Index") 48 </div> 49 50 @section Scripts { 51 @Scripts.Render("~/bundles/jqueryval") 52 }
已晚,明天再继续编辑。