C# 验证MVC5中的可选必填字段

C# 验证MVC5中的可选必填字段,c#,validation,asp.net-mvc-5,C#,Validation,Asp.net Mvc 5,我有一个模型AddSpecificitiesViewModel,具有以下值: public class AddSpecificitiesViewModel { public bool? Elevator { get; set; } public string ElevatorCapacity { get; set; } } 另一个模型clientViewModel: public class clientViewModel { public AddSpeci

我有一个模型AddSpecificitiesViewModel,具有以下值:

 public class AddSpecificitiesViewModel
 {
    public bool? Elevator { get; set; }
    public string ElevatorCapacity { get; set; }
 }
另一个模型clientViewModel:

 public class clientViewModel
 {
     public AddSpecificitiesViewModel add {get; set;}
 }
AddSpecificitiesViewModel的属性电梯和电梯容量都是必需的,但只有电梯设置为true时,电梯容量才会填充。 如何验证这种类型的模型

例如,如果I电梯为真,且我未在表格中填写电梯容量,如何在控制器中验证模型

 public ActionResult Client(ClientViewModel clientViewModel)
 {
    if (ModelState.IsValid){
        //action
    } else {
       //action
    }
        return View("Index", clientViewModel);
    }

听起来最好有一个
电梯
课程,必须有一定的载客量。然后,
AddSpecificitiesViewModel
中的
电梯
属性可以是可选的(因此为null或对
电梯
实例的引用)。我认为这比拥有“共同强制”属性要好。使用条件验证属性-例如a
[RequiredIf]
(或者您可以使用。如果您想学习编写自己的,请参阅我还没有阅读全部内容,但是该属性的名称,为什么您的布尔属性名为
lifter
,为什么容量
string
?@StephenMuecke:我可以将其用于MVC5吗?@SeM:Client requirements