2013-07-03 5 views
2

я в комплекте JQuery Validate скрипты как:Другие скрипты не работают MVC

bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
         "~/Scripts/jquery.unobtrusive*", 
         "~/Scripts/jquery.validate*")); 

и я рендеринга в _layout, как

@Scripts.Render("~/bundles/jqueryval") 

Но когда я пытаюсь проверить свои формы на кнопку мыши, как:

$("form").validate({ 
        errorPlacement: function (error, element) { 
         error.insertAfter(element).css("display", "inline"); 
        } 
       }); 

Его дает мне ошибку, как:

0x800a01b6 - Ошибка выполнения JavaScript: объект не поддерживает свойство или метод 'validate'

Так что предлагаю мне эту проблему.

+0

Вы уверены, что файлы отображаются в исходном коде? Вы уверены, что вы ссылаетесь на файл jquery. {version} .js? –

+1

JqueryVal зависит от JQuery! Вы включаете это перед JqueryVal? – Fals

+1

сначала попробуйте '@ Scripts.Render (" ~/bundles/jquery ")', а затем попытайтесь включить этот '@ Scripts.Render (" ~/bundles/jqueryval ")' –

ответ

1

Среда deferentiating уменьшенную версии от ООН-уменьшенного (на основе стандартного JavaScript именования), так что если вы укажете "~/Scripts/jquery.unobtrusive*" путь спецификатор будет включать в себя jquery.unobtrusive.js когда минификация выключена и jquery.unobtrusive.min.js когда минификация включена.

Проверьте, есть ли у вас файлы jquery.unobtrusive.min.js и jquery.validate.min.js в папке Scripts.

Включить мини-настройку вручную - вставить BundleTable.EnableOptimizations = true; после добавления пучков.

EDIT:

Ваша ошибка изречение, что проверить метод еще не объявлен. Пожалуйста, проверьте, если ваш @Scripts.Render("~/bundles/jqueryval") находится перед вызовом $("form").validate() или обруча призвание Validate в jQuery(callback) function так:

$(function(){ 
    $("form").validate({ 
        errorPlacement: function (error, element) { 
         error.insertAfter(element).css("display", "inline"); 
        } 
       }); 
}) 

Это будет ждать, пока не будет загружен весь документ.

+0

Я тоже пробовал это. Но не работает –

+0

Пожалуйста, проверьте мои изменения. –

3

Не могли бы вы убедиться, что UnobtrusiveJavaScriptEnabled включен в web.config?

<appSettings> 
    ... 
    <add key="UnobtrusiveJavaScriptEnabled" value="true"/> 
    ... 
    </appSettings> 
+0

UnobtrusiveJavaScriptEnabled - это правда, но не работает –

Смежные вопросы