Próbujesz nauczyć się podstaw ASP.net MVC i nie mogę zrozumieć, dlaczego moja walidacja po stronie klienta nie działa.MVC 4 Walidacja po stronie klienta nie działa
mam to w obu moich plików web.config (1 ma charakter globalny 1 znajduje się w folderze poglądów)
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
mam to w moim _layout.cshtmlfile
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/Scripts/jquery.validate.unobtrusive.min.js")
@Scripts.Render("~/Scripts/jquery.validate.min.js")
To jest mój widok modelu, dla których im Rejestracja testowania:
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; }
}
A to moja 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" />
}
Nie chcę publikować tutaj, przeczytałem kilka tematów tutaj związanych, ale nie mogę wydawać się naprawić moich problemów, kiedy klikam przesłać to robi post/uzyskać wnioski.
Nie pamiętam dokładnie, ale jest kolejność plików załadowanych '_layout.cshtmlfile' poprawić? czy nie pominąłeś js z pierwszego stwierdzenia i czy sprawdziłeś pliki załadowane do przeglądarki? –
Wyświetl źródło pokazuje wszystkie załadowane pliki. – Larry
Czy próbowałeś wczytać plik validate.min.js przed validate.unobtrusive.min.js – Adil