📅  最后修改于: 2023-12-03 15:29:29.847000             🧑  作者: Mango
在ASP.NET Core中,数据注释是一种帮助我们更好地理解数据模型的方法。它们提供了有关模型中属性的元数据,例如属性的名称、数据类型、最大值、最小值等。它们还可以用于验证输入,并在模型绑定期间生成错误消息。
在ASP.NET Core中,有两种类型的数据注释:属性注释和模型注释。
public class Person
{
[Required]
public string Name { get; set; }
public int Age { get; set; }
}
在此示例中,[Required]
属性注释指示Name
属性为必填项。
[DisplayName("Employee Information")]
public class Employee
{
public int Id { get; set; }
[Required]
[DisplayName("Employee Name")]
public string Name { get; set; }
[Range(0, 120)]
public int Age { get; set; }
}
在此示例中,[DisplayName("Employee Information")]
模型注释指示Employee
类的显示名称为“Employee Information”。[DisplayName("Employee Name")]
属性注释指示Name
属性的显示名称为“Employee Name”。
以下是ASP.NET Core中常用的属性注释:
[StringLength]
:指定字符串属性的最小和最大长度。[Range]
:指定数字属性的最小和最大值。[Required]
:指示属性为必填项。[RegularExpression]
:指定属性的值必须与指定的正则表达式匹配。[DisplayName]
:指定属性或模型的显示名称。[DisplayFormat]
:指定属性或模型的显示格式。[DataType]
:指定属性或模型的数据类型。除了使用内置的属性注释之外,您还可以创建自己的自定义属性注释。以下是一个示例:
[AttributeUsage(AttributeTargets.Property)]
public class CustomAttribute : ValidationAttribute
{
public override bool IsValid(object value)
{
// validate value here
return true;
}
}
在此示例中,我们创建了一个名为CustomAttribute
的自定义属性注释,并继承了ValidationAttribute
类。我们重写了IsValid
方法,以执行自定义的验证逻辑。
然后,我们可以将此自定义属性注释应用于属性声明:
public class Person
{
[Custom]
public string Name { get; set; }
public int Age { get; set; }
}
在ASP.NET Core中,模型绑定期间会使用数据注释来验证和转换用户输入。如果用户输入的数据无法通过验证,模型绑定过程将生成错误消息,并返回到视图中显示。
以下示例演示了如何在控制器中使用模型注释:
[HttpPost]
public IActionResult Create(Employee employee)
{
if (ModelState.IsValid)
{
// add employee to database
return RedirectToAction("Index");
}
return View(employee);
}
在此示例中,当用户提交表单时,模型绑定期间将使用数据注释来验证Employee
对象。如果模型无效,则将View(employee)
返回到视图中显示错误消息。否则,将Employee
对象添加到数据库中,并重定向到“Index”操作。
ASP.NET Core中的数据注释提供了有关数据模型属性的元数据,并用于验证用户输入。本文介绍了属性注释、模型注释和常用的属性注释类型。此外,我们还了解了如何创建自定义属性注释,并在模型绑定期间使用数据注释。