模型验证使用,参考笔者 写过的文章 asp.net core 内置数据校验_持久的胜利的博客-CSDN博客
这里 只是做一个对asp.net core MVC模型验证的额外补充
MVC模型验证 基本的使用方法和 笔者的以前的文章 使用方法 相同
在MVC视图页面中 如果 在前端中直接 使用 <label asp-for="@Model.Email" class="col-sm-2 col-form-label"></label> 等,会直接把 模型类 的 英文名称 展示在 前端页面中,那么就需要 在 每个模型实体的 属性上 加上 [Display(Name = "中文名称")]
public class Student
{
public int Id { get; set; }
[Display(Name ="你的名字")]
[Required(ErrorMessage ="名字必须填写"),MaxLength(50,ErrorMessage ="名字必须小于50")]
public string Name { get; set; }
[Display(Name ="班级名称")]
public ClassNameEnum ClassName { get; set; }
[Required(ErrorMessage ="邮箱必须填写")]
[Display(Name ="邮箱地址")]
public string Email { get; set; }
}
并且支持 Enum等
public enum ClassNameEnum
{
[Display(Name = "未定义")]
Nan,
[Display(Name = "一年级")]
firstGrade,
[Display(Name = "二年级")]
secondGrade,
[Display(Name = "三年级")]
thirdGrade
}
使用方法,需要在 控制器方法中 使用 ModelState.IsValid。如果验证通过 返回true
public IActionResult Create(Student student)
{
if (ModelState.IsValid)
{
Student newStudent = _studentRepository.AddStudent(student);
return View("OneStudent", newStudent);
}
return View();
}