c# - 如何正确验证 ASP.NET MVC 中的数据
问题描述
我正在尝试验证我的模型数据,它是一个用于字符串输入的文本框,但是当我尝试使用 int 输入进行测试时,我没有收到任何错误,它被保存到数据库中......
我怎样才能防止这种情况?
型号类:
[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
@using (Html.BeginForm())
{
@Html.HiddenFor(a => a.DeptId);
@Html.TextBoxFor(a => a.DeptName);
@Html.ValidationMessageFor(a => a.DeptName);
<input value="Update" type="submit" class="btn btn-info" />
}
解决方案
如果您仅使用 [Required] 属性,则检查值是否为空,不检查值类型 int 或 string。
如果您想在文本框中允许唯一的字母字符。你可以使用正则表达式
[RegularExpression(@"^[a-zA-Z]+$", ErrorMessage = "Use letters only please")]
string DeptName {get; set;}
推荐阅读
- ios - Phonegap iOS App 中的 Google Maps API3 上缺少控件
- javascript - 宏伟的弹出窗口 - onclose
- blueprint - 定义为数组
- firebase - 在 Nuxt.js 应用中初始化 Firebase 的地方
- python - Python:检查列表的最后一个值是否多次出现
- c++ - 在 UE4 中将原生 C++ 代码制作为蓝图
- angular - 如何将数据传递给通用角度组件(对话框)
- php - 如何通过路由传递数据并分配给laravel中的文本框?
- python - 如何读取匹配字符串并将结果拆分为多个文件
- r - 我无法在 shinyapps.io 上发布我的 Shiny 应用程序