Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在MVC中为具有多个属性的视图模型添加验证错误?_C#_Asp.net Mvc - Fatal编程技术网

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。