La validación del lado del cliente MVC 4 no funciona

Intentar aprender los conceptos básicos de ASP.net MVC y no puedo entender por qué la validación del lado del cliente no funciona.

Tengo esto en mis dos archivos web.config (1 es global 1 está en la carpeta de vistas)

<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />

Tengo esto en mi _layout.cshtmlfile

@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/Scripts/jquery.validate.unobtrusive.min.js")
@Scripts.Render("~/Scripts/jquery.validate.min.js")

Este es mi modelo de vista para el cual estoy probando registro:

public class RegisterVM
    {
        [Required(ErrorMessage="Username Required")]
        public string username { get; set; }

        [RegularExpression(@"((?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,20})")]
        [Required(ErrorMessage="Password Required")]
        public string password { get; set; }

        [Compare("password", ErrorMessage="Passwords do not match")]
        public string passwordConfirm { get; set; }
    }

Y este es mi html

@using(@Html.BeginForm()){

    @Html.LabelFor( model => model.username)
    @Html.EditorFor( model => model.username)
    @Html.ValidationMessageFor( model => model.username)<br />

    @Html.LabelFor( model => model.password)
    @Html.PasswordFor( model => model.password)
    @Html.ValidationMessageFor( model => model.password)<br />

    @Html.LabelFor( model => model.passwordConfirm)
    @Html.EditorFor( model => model.passwordConfirm)
    @Html.ValidationMessageFor( model => model.passwordConfirm)<br />

    <input type="submit" value="Register" />


}

No quería publicar aquí, he leído algunos temas relacionados aquí, pero parece que no puedo solucionar mis problemas, cuando hago clic en enviar, se están realizando solicitudes de publicación / obtención.

Respuestas a la pregunta(6)

Su respuesta a la pregunta