Ответ 1
Похоже, это должно работать, я думаю, вам нужно загрузить validate.min.js перед validate.unobtrusive.min.js
Попытка изучить основы ASP.net MVC и не могу понять, почему моя проверка на стороне клиента не работает.
У меня это в обоих файлах web.config(1 является глобальным 1 в папке представлений)
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
У меня это в моем _layout.cshtmlfile
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/Scripts/jquery.validate.unobtrusive.min.js")
@Scripts.Render("~/Scripts/jquery.validate.min.js")
Это моя модель просмотра, для которой регистрация тестирования:
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; }
}
И это мой 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" />
}
Не хочу публиковать здесь, ive читать несколько тем, связанных здесь, но can not, кажется, исправить мои проблемы, когда я нажимаю submit, чтобы делать сообщения/получать запросы.
Похоже, это должно работать, я думаю, вам нужно загрузить validate.min.js перед validate.unobtrusive.min.js
У меня была аналогичная проблема, и единственное, что исправлено, это вручную вызвать
$.validator.unobtrusive.parse($('form'));
прежде чем нажать кнопку отправки.
Я, наконец, положил его в обратный вызов документа.
$(function () {
$.validator.unobtrusive.parse($('form'));
});
На вашей странице у вас есть две строки внизу страницы
Пожалуйста, внимательно ознакомьтесь с
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
Это потому, что вы не загружаете jquery.validate.min.js перед ненавязчивым.
$('#divParent').load("url",
function () {
$.validator.unobtrusive.parse($('form'));}
);
Примечание. Это необходимо, если вы динамически загружаете "форму" или "PartialView" внутри "div" с помощью ajax-вызовов
Вам нужно просто сослаться на эти файлы на каждой странице, которую нужно проверить моим друзьям!
<script src="~/Scripts/jquery.validate.js"></script>