标签:
ModelState.IsValid 验证是否通过
ModelState.AddModelError("Name", "Name is required"); 返回错误信息
eg:
[HttpPost]
public ActionResult ModelStateAction(ModelStateModel model) { if (string.IsNullOrEmpty(model.Name)) { ModelState.AddModelError("Name", "Name is required"); } if (string.IsNullOrEmpty(model.Email)) { ModelState.AddModelError("Email", "Email is required"); } else { string expression = @"^\s*([A-Za-z0-9_-]+(\.\w+)*@([\w-]+\.)+\w{2,3})\s*$"; Regex reg = new Regex(expression); if(!reg.IsMatch(model.Email)) { ModelState.AddModelError("Email", "Email is invalid"); } } if (ModelState.IsValid) { ViewBag.Name = model.Name; ViewBag.Email = model.Email; } return View(model); }
@Html.ValidationSummary() 会把所有验证不通过的信息逐条显示出来
@Html.ValidationMessageFor(model => model.Name)显示属性对应的验证错误信息
上面的例子是手动加验证,还提供了DataAnnotations
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations; namespace SlarkInc.Models { public class DataAnnotationModel { [Required(ErrorMessage = "Name is required")] public string Name { get; set; } [Required(ErrorMessage = "Email is required")] [RegularExpression(@"^\s*([A-Za-z0-9_-]+(\.\w+)*@([\w-]+\.)+\w{2,3})\s*$", ErrorMessage = "Email is invalid")] public string Email { get; set; } } }
客户端验证
<configuration> <appSettings> <add key="ClientValidationEnabled" value="true" /> <add key="UnobtrusiveJavaScriptEnabled" value="true" /> </appSettings> </configuration>
数据
连接 <add name="DefaultConnection" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\EFDemo.mdf;Integrated Security=True" providerName="System.Data.SqlClien/>
操作
Enable-Migrations 初始化数据迁移
Add-Migration dsl 添加数据迁移记录
Update-Database 更新数据库。
标签:
原文地址:http://www.cnblogs.com/xtsnet/p/5789688.html