我在该视图模型中有一个视图模型,我使用相同的模型创建了两个不同的实例:
public ClaimViewModel()
{
engineClaim = new ClaimModel();
boatClaim = new ClaimModel();
}
public ClaimModel engineClaim { get; set; }
public ClaimModel boatClaim { get; set; }
我在ClaimModel中有这样的属性:
[Required]
public string Complaint { get; set; }
[RequiredIf("isEngineClaim", true , ErrorMessage = "Required")]
public string Cause { get; set; }
[Required]
public string Correction { get; set; }
public bool isEngineClaim { get; set; }
在控制器中我正在加载像这样的索引页
public ActionResult Index()
{
ViewBag.Message = "Welcome to ASP.NET MVC!";
ClaimViewModel claim = new ClaimViewModel();
claim.engineClaim = new Models.ClaimModel();
claim.engineClaim.isEngineClaim = true;
claim.boatClaim = new Models.ClaimModel();
claim.boatClaim.isEngineClaim = false;
return View("Index", claim);
}
现在我的问题是,如果两个实例的'isEngineClaim'属性不同,则requiredif验证不起作用。我是following this link 此外,我还在我的视图中放置了'isEngineClaim'的隐藏字段。但是,如果任何人都建议我解决方案,那么requiredifvalidation无效。