MVC 4 Проверка на стороне клиента не работает

Попытка изучить основы ASP.net MVC и не могу понять, почему моя проверка на стороне клиента не работает.

Я имею это в обоих моих файлах web.config (1 является глобальным 1 находится в папке представлений)



У меня есть это в моем _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>

    


}

Didn»Я не хочу публиковать здесь, я прочитал несколько тем, связанных здесь, но не могу решить мои проблемы, когда я нажимаю "Отправить"S делает сообщение / получать запросы.

 Adil29 мая 2013 г., 12:52
Вы пытались загрузить validate.min.js перед validate.unobtrusive.min.js
 Larry29 мая 2013 г., 12:52
Просмотр источника показывает, что все файлы загружены.
 Jahan Zinedine29 мая 2013 г., 12:47
Я могу'Точно помню, но правильный ли порядок файлов, загруженных в `_layout.cshtmlfile`? А не было»Вы пропустили js из первого оператора, и вы проверили файлы, которые были загружены в браузер?
 Larry29 мая 2013 г., 12:56
Исправлено, мой бог так долго тратил время на размышления о том, что на земле не так, если бы я проглотил свою гордость только что спросил !!
 Marcel N.29 мая 2013 г., 12:55
Да, порядок неправильный. Ненавязчивая проверка зависит от jQuery Validate.

Ответы на вопрос(6)

Решение Вопроса

Как будтоэто должно работатьЯ думаю, вам нужно загрузить validate.min.js перед validate.unobtrusive.min.js

 Larry29 мая 2013 г., 14:17
Помечено как правильное, спасибо :)
 sairfan31 окт. 2016 г., 16:39
В моем случае я заметил, что некоторое время пропускает помосты при добавлении @ Scripts.Render ("~ / Пучки / jqueryval») в конце файла макета, я добавил его вручную, и он работает.
 Adil29 мая 2013 г., 14:03
Да, я прокомментировал выше, но потом понял, что в качестве ответа это может быть полезно для других
 Larry29 мая 2013 г., 13:18
Уже рассмотрено, это был ответ, но комментарии выше не могут быть помечены как правильные! Спасибо
 Benk18 нояб. 2014 г., 09:41
Здравствуйте, в моем файле просмотра я установил layout = null и добавил порядок скриптов <script src = "~ / Scripts / JQuery-2.1.0.min.js "> </ Скрипт>@ Scripts.Render (»~ / Scripts / jquery.validate.min.js») @ Scripts.Render (»~ / Scripts / jquery.validate.unobtrusive.min.js») Но клиентский скрипт не работает, оцените, если вы можете сказать мне, что еще мне нужно изменить? или предложения. благодарю вас
 Benk18 нояб. 2014 г., 09:49
я также попытался использовать jquery-1.7.1.min.js вместо 2.1.0, но проверка на стороне клиента все еще не работает, может быть, мне нужна конкретная версия?

На вашей странице у вас есть эти две строки внизу страницы

пожалуйста, смотрите внимательно

@section Scripts {
 @Scripts.Render("~/bundles/jqueryval")
}
 J.B.Vala22 янв. 2014 г., 20:54
Я уже добавил этот скрипт на определенной странице.

У меня была похожая проблема, и единственное, что исправило это, было вручную вызвать

 $.validator.unobtrusive.parse($('form'));

прежде чем я нажму кнопку отправки.

Я наконец положил это в документ готового обратного вызова.

$(function () {
    $.validator.unobtrusive.parse($('form'));
});
 Chris Gong10 авг. 2017 г., 12:07
Я заметил эту проблему после объединения моих скриптов в BundleConfig.cs и моего вызова$('#nameOfForm').validate(); WASN»т работает. Как только я добавил эту строку, она начала работать, поэтому большое спасибо
 IFink04 февр. 2016 г., 12:20
После многих попыток решения безуспешно, это работает очень хорошо. Спасибо
$('#divParent').load("url",
                     function () {
                     $.validator.unobtrusive.parse($('form'));}
                );

PartialView» динамически внутриДИВ» используя вызовы ajax

Вам нужно просто сослаться на эти файлы на каждой странице, вы должны проверить мой друг!

    

Тот'потому что ты неt загрузить jquery.validate.min.js до ненавязчивого.

Ваш ответ на вопрос