I had the same issue and figured out it is because I use Visual Studio 2013 Community. As I first landed on this page and was disappointed not to find a solution, here is mine for those about to "follow" ;-)
In Detail you need:
(not sure if the validate.*.mins wouldn't suffice either)
The easiest way to set it up is by using the Packet-Manager (nuget) -> Tools -> NuGet Packet Manager ->Packet Manager Console and then:
- Install-Package jQuery.Validation.Unobtrusive.Native.MVC5
- Install-Package Microsoft.jQuery.Unobtrusive.Validation -Version 3.2.2
Afterwards you should update jquery.validate via -> Tools -> NuGet Packet Manager -> Manage NuGet Packages for Solution. Left Sidebar under Update.
That is because Range Validation is broken in jquery.validate version 10.0.2 (?) which is the one delivered with VS.
Now you just add:
to ~/Views/shared/_Layout.cshtml AFTER the part where JQuery itself is included.
Mind you, this is probably the "quick and dirty" way, because the validation-Scripts are now included in EVERY view.
The way VS2013 does it on a non empty MVC-Solution is by building bundles and rendering validation-Scripts only on Views with an actual input-form. What it does there automatically, would require you to manually alter 4 files plus any view you want to validate
and install System.Web.Optimizations via NuGet
Nonetheless I did just that for "fun" and could post that solution if you or anyone else is interested.