簡體   English   中英

jquery - 加載時不顯眼的驗證javascript錯誤 - $ jQval未定義

[英]jquery - unobtrusive validation javascript error on load - $jQval is undefined

我在jquery 1.7中使用它。 我一直在 - jQval is undefined錯誤。

這是我加載腳本的方式。

$.ajax({
    url: "http://ajax.aspnetcdn.com/ajax/mvc/3.0/jquery.validate.unobtrusive.js",
    dataType: "script",
    cache: true,
    success: callback
});

我也嘗試將它直接加載到頭部 - 同樣的錯誤

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>

<script src="http://ajax.aspnetcdn.com/ajax/mvc/3.0/jquery.validate.unobtrusive.js" type="text/javascript"></script>

只是發布給搜索到這里的其他人...

在頭部加載文件時出現錯誤的原因是jquery.validate.unobtrusive需要jquery.validate。 這就是導致錯誤的原因。

(即仔細檢查您是否在jquery.validate.unobtrusive之前成功包含了jquery.validate)

解決了級聯ajax加載調用解決了它...它看起來像加載這兩個文件的時間問題

$.ajax({
       url: "http://ajax.aspnetcdn.com/ajax/jquery.validate/1.8.1/jquery.validate.min.js",
       dataType: "script",
       cache: true,
       success: function () {
                        $.ajax({
                             url: "http://ajax.aspnetcdn.com/ajax/mvc/3.0/jquery.validate.unobtrusive.js",
                             dataType: "script",
                             cache: true,
                        });
                }
});

以下3個腳本對我很有用:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js" type="text/javascript"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.js" type="text/javascript"></script>
<script src="http://ajax.aspnetcdn.com/ajax/mvc/3.0/jquery.validate.unobtrusive.js" type="text/javascript"></script>

假設你有一個表格:

@using (Html.BeginForm())
{
    @Html.EditorFor(x => x.Foo)
    @Html.ValidationMessageFor(x => x.Foo)
    <button type="submit">OK</button>
}

鍵入視圖模型:

public class MyViewModel
{
    [Required]
    public string Foo { get; set; }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM