可以通过在属性上添加“[Required]”特性,强制模型绑定验证该属性的值是否可用。如果属性是一个枚举,还可以使用“[EnumDataType]”特性来指定该属性应采用哪些枚举值。
示例代码如下:
public enum FruitType
{
Apple,
Banana,
Orange
}
public class Fruit
{
[Required]
[EnumDataType(typeof(FruitType))]
public FruitType Type { get; set; }
public int Quantity { get; set; }
}
public class HomeController : Controller
{
public IActionResult Create()
{
return View();
}
[HttpPost]
public IActionResult Create(Fruit fruit)
{
if (ModelState.IsValid)
{
// Process the valid data
return RedirectToAction(nameof(HomeController.Index));
}
return View(fruit);
}
}
在这个例子中,“Fruit”类有一个“Type”属性,它应该是“FruitType”枚举中的一个值,而不是默认值。如果模型绑定尝试绑定一个不可用的值到“Type”属性上,它会触发一个验证错误,因为该属性已被标记为“Required”并使用了“[EnumDataType]”特性。