C# 如何验证ViewModel模型

C# 如何验证ViewModel模型,c#,asp.net-mvc-4,razor,C#,Asp.net Mvc 4,Razor,我想在包含多个模型的ViewModel中使用ModelState.IsValid public class TestViewModel { public TestViewModel() { UserModel = new UserDTO(); PaymentModel = new PaymentDTO(); ResultModel = new ResultDTO(); NewUserModel = new NewUs

我想在包含多个模型的ViewModel中使用ModelState.IsValid

public class TestViewModel
{
    public TestViewModel()
    {
        UserModel = new UserDTO();
        PaymentModel = new PaymentDTO();
        ResultModel = new ResultDTO();
        NewUserModel = new NewUserDTO();
    }

    public UserDTO UserModel  { get; set; }
    public NewUserDTO NewUserModel  { get; set; }
    public PaymentDTO PaymentModel { get; set; }
    public ResultDTO ResultModel { get; set; }
}
然后在我的行动中:

public ActionResult TestAction(TestViewModel model)
{
     ModelState.IsValid //Just for UserDTO in some condition or just the NewUserDTO in other condition
}
在我的
Payment.cshtml
视图中,如果是新用户,我将显示
\u Register.cshtml
部分视图,该视图使用
NewUserDTO
模型强键入,如果用户已经注册,我将使用
UserDTO
模型呈现
\u user.cshtml
部分视图。因此,当新用户提交表单时,我必须忽略
UserModel
验证


是否可以执行此操作?

从IValidTeableObject派生,并在TestViewModel中使用一些标志来打开/关闭验证