I try to do the custom client side validation in MVC 5 Project. When I add the following code:
public IEnumerable<ModelClientValidationRule> GetClientValidationRules(ModelMetadata metadata, ControllerContext context)
{
//Some Validation Here
}
I get the following error :
The type name 'ModelClientValidationRule' could not be found. This type has been forwarded to assembly 'System.Web.WebPages, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. Consider adding a reference to that assembly.
But when I check the web.config
file, I am using WebPages version supported from 0.0
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
</dependentAssembly>
My
System.Web.Mvc
got deleted and when I added it back, it started giving me this error that you have mentioned. The reason for it was that, earlier I was usingSystem.Web.Mvc [3.0.0.1]
, which got deleted and while adding back, I addedSystem.Web.Mvc [4.0.0.1]
. So, to fix this issue, I deletedSystem.Web.Mvc [4.0.0.1]
and addedSystem.Web.Mvc [3.0.0.1]
.