Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.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
Jquery MVC4实体中隐藏字段的RequiredIf属性_Jquery_Asp.net Mvc_Entity Framework_Asp.net Mvc 4_Requiredfieldvalidator - Fatal编程技术网

Jquery MVC4实体中隐藏字段的RequiredIf属性

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将隐藏,并且应忽略此字段的验证。但是,我无法在实体级别提供此信息。如何在实体级别提

我已经成功地验证了MVC4项目中实体级别的大多数字段。但是,有两个名为IsWorking和WorkingCity的字段,我在验证它们时遇到了一个问题。情况如下:

1当用户选择IsWorking dropdownlist为Yes时,将显示WorkingCity dropdownlist,并对该字段进行验证

2当用户选择IsWorking dropdownlist为否时,WorkingCity dropdownlist将隐藏,并且应忽略此字段的验证。但是,我无法在实体级别提供此信息。如何在实体级别提供it?请不要使用jQuery.validate方法在视图级别建议解决方案,如果在实体级别有解决方案

我已经遵循了stackoverflow等类似文章中的所有步骤,但没有解决问题。有没有办法在实体层面上解决这个问题?提前谢谢

实体:

视图:


您需要某种类型的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"})