Jquery MVC4实体中隐藏字段的RequiredIf属性
我已经成功地验证了MVC4项目中实体级别的大多数字段。但是,有两个名为IsWorking和WorkingCity的字段,我在验证它们时遇到了一个问题。情况如下: 1当用户选择IsWorking dropdownlist为Yes时,将显示WorkingCity dropdownlist,并对该字段进行验证 2当用户选择IsWorking dropdownlist为否时,WorkingCity dropdownlist将隐藏,并且应忽略此字段的验证。但是,我无法在实体级别提供此信息。如何在实体级别提供it?请不要使用jQuery.validate方法在视图级别建议解决方案,如果在实体级别有解决方案 我已经遵循了stackoverflow等类似文章中的所有步骤,但没有解决问题。有没有办法在实体层面上解决这个问题?提前谢谢 实体: 视图:Jquery MVC4实体中隐藏字段的RequiredIf属性,jquery,asp.net-mvc,entity-framework,asp.net-mvc-4,requiredfieldvalidator,Jquery,Asp.net Mvc,Entity Framework,Asp.net Mvc 4,Requiredfieldvalidator,我已经成功地验证了MVC4项目中实体级别的大多数字段。但是,有两个名为IsWorking和WorkingCity的字段,我在验证它们时遇到了一个问题。情况如下: 1当用户选择IsWorking dropdownlist为Yes时,将显示WorkingCity dropdownlist,并对该字段进行验证 2当用户选择IsWorking dropdownlist为否时,WorkingCity dropdownlist将隐藏,并且应忽略此字段的验证。但是,我无法在实体级别提供此信息。如何在实体级别提
您需要某种类型的RequiredIf验证属性。不幸的是,Asp.NETMVC没有这样的属性。不过,你可以使用第三方图书馆,谢谢你的回复。实际上RequiredIf验证属性似乎足够好,我安装了它。但是,在MVC4中尝试使用它时出现错误。有什么办法解决这个问题吗?无法加载文件或程序集“MVC.swelproof.Validation”或其依赖项之一。定位的程序集清单定义与程序集引用不匹配。HRESULT的异常:0x8013100您也可以只编写一个RequiredIf。这并不复杂。这里有一个。。。您不需要ErrorMessageResourceName或ErrorMessageResourceTypeAnywhere,最后我已经设法在这两个方面都使用了它;在@JaroslawWaliszko的精彩示例的帮助下,客户端和服务器端。非常感谢你的鞋子和YuriyP。
[Display(Name = "Do you work?")]
[Required(ErrorMessage = "Required field")]
public int IsWorking { get; set; }
[Display(Name = "City")]
[Required(ErrorMessage = "Required field")]
public string WorkingCity { get; set; }
@Html.LabelFor(m=>m.Applicant.IsWorking)
@Html.DropDownListFor(m => m.Applicant.IsWorking), new { id = "isWorking", onchange="showHideWorking()"})
@Html.ValidationMessageFor(m => m.Applicant.IsWorking, null , new { @class = "ValidationErrors" })
@Html.LabelFor(m=>m.Applicant.WorkingCity)
@Html.DropDownListFor(m => m.Applicant.WorkingCity, new { id = "workingCity"})