C# 如何在ASP.NET MVC中正确验证数据
我试图验证我的模型数据,这是一个字符串输入的文本框,但当我尝试使用int输入进行测试时,我没有得到错误,它被保存到数据库中 我怎样才能防止这种情况 模型类:C# 如何在ASP.NET MVC中正确验证数据,c#,asp.net-mvc,C#,Asp.net Mvc,我试图验证我的模型数据,这是一个字符串输入的文本框,但当我尝试使用int输入进行测试时,我没有得到错误,它被保存到数据库中 我怎样才能防止这种情况 模型类: [Required] public string DeptName { get; set; } 行动方法: public ActionResult Update(Dept model) { if (!ModelState.IsValid) { return View();
[Required]
public string DeptName { get; set; }
行动方法:
public ActionResult Update(Dept model)
{
if (!ModelState.IsValid)
{
return View();
}
db.Entry(model).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
视图:
@model Dept
@使用(Html.BeginForm())
{
@HiddenFor(a=>a.DeptId);
@TextBoxFor(a=>a.DeptName);
@ValidationMessageFor(a=>a.DeptName);
}
如果只使用[Required]属性,则其检查值是否为空,不检查值类型int或string
如果要在文本框中只允许字母字符。
您可以使用正则表达式
[RegularExpression(@"^[a-zA-Z]+$", ErrorMessage = "Use letters only please")]
string DeptName {get; set;}
[RegularExpression("[a-zA-Z]*", ErrorMessage = "Cannot be a number")]
[RegularExpression(@"^[a-zA-Z]+$", ErrorMessage = "Use letters only please")]
string DeptName {get; set;}