C# 如何在MVC中为具有多个属性的视图模型添加验证错误?
如果我有一个如下所示的视图模型:C# 如何在MVC中为具有多个属性的视图模型添加验证错误?,c#,asp.net-mvc,C#,Asp.net Mvc,如果我有一个如下所示的视图模型: public class Car { Wheel CarWheel {get;set;} Body CarBody {get;set;} } public class Wheel { int Number {get;set;} string WheelType {get;set;} } public class Body { int Number {get;set;} string BodyType
public class Car
{
Wheel CarWheel {get;set;}
Body CarBody {get;set;}
}
public class Wheel
{
int Number {get;set;}
string WheelType {get;set;}
}
public class Body
{
int Number {get;set;}
string BodyType {get;set;}
}
我的车轮和车身类看起来像这样:
public class Car
{
Wheel CarWheel {get;set;}
Body CarBody {get;set;}
}
public class Wheel
{
int Number {get;set;}
string WheelType {get;set;}
}
public class Body
{
int Number {get;set;}
string BodyType {get;set;}
}
我想为小于1的车轮编号添加一个模型错误:
ModelState.AddModelError(???, "Error! You must have at least one wheel to avoid abrasion on your bottom");
我如何指定错误具体与Wheel类有关,而不是Body类?要指定错误发生在
Number
的CarWheel
版本上,而不是CarBody
,您需要以获取或设置该属性值的相同方式“命名”属性名称的值:
ModelState.AddModelError("CarWheel.Number", "Error! You must have at least one wheel to avoid abrasion on your bottom");
或
或者你可以尝试使用数据注释
“范围”属性应该适用于您,或者您可以根据需要编写自己的属性。如果您使用的是标准的Html.TextBoxFor等生成器,则该属性将不起作用。那里的命名约定是Model.Property。