Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery表单验证函数未按预期运行_Jquery_Asp.net Mvc 3_Entity Framework 4_Jquery Validate - Fatal编程技术网

jquery表单验证函数未按预期运行

jquery表单验证函数未按预期运行,jquery,asp.net-mvc-3,entity-framework-4,jquery-validate,Jquery,Asp.net Mvc 3,Entity Framework 4,Jquery Validate,我注意到,当我没有任何验证消息表明存在验证错误时,我的代码的行为就好像存在验证错误一样 这是我的jquery click函数,如果表单经过验证,我想在其中调用ajax: $("#otherFavContainer").on("click", ".btnAddSongTilesToGenre", function (e) { var name = $('#youTubeNameTxt').val(); var link = $('#youTubeLinkTxt'

我注意到,当我没有任何验证消息表明存在验证错误时,我的代码的行为就好像存在验证错误一样

这是我的jquery click函数,如果表单经过验证,我想在其中调用ajax:

  $("#otherFavContainer").on("click", ".btnAddSongTilesToGenre", function (e) {
        var name = $('#youTubeNameTxt').val();
        var link = $('#youTubeLinkTxt').val();
        var len = link.length;
        var substr = link.substr(31, len - 31);
        var container = $(this).parent().parent().find(".actualTilesContainer");
        $(container).slideDown();
        var genreId = $(this).attr("name");
        $("#hiddenRank").val(genreId);
        $("#AddTopTenFavForm").validate().form();

        if ($("#AddTopTenFavForm").valid()) {

            $.ajax({
                beforeSend: function () { ShowAjaxLoader(); },
                url: "/Home/AddSong",
                type: "POST",
                data: $("#AddTopTenFavForm").serialize(),
                success: function (data) { HideAjaxLoader(), ShowMsg("Song Added Successfully"), $(container).find('ul').append('<li><a class="savedLinks" href="#" name="' + substr + '" >' + name + '</a> <span name= ' + data + ' class="btnDeleteSong dontDoAnything">x</span></li>'); },
                error: function () { HideAjaxLoader(), ShowMsg("Song could not be added, please try again") }
            });


            $('#youTubeLinkTxt').val('');
            $('#youTubeNameTxt').val('');

        }
        else {
            alert("notValid");
        }

        if ($(e.target).hasClass("dontDoAnything")) {
            e.stopPropagation();
            return false;
        }
    });
}


我仔细检查了一下我是否以正确的格式在文本框中输入了数据,一切似乎都正常,但由于一些奇怪的原因,我的表单仍然无效,请帮助。谢谢

检查$AddTopTenFavForm.valid的输出以查看它返回的内容。

警报是最简单、最肮脏的方法。如果您正在使用Firefox或Chrome的Firebug插件,您可以打开控制台并在那里进行检查。ifwindow.console window.console.log$AddTopTenFavForm.valid
 namespace yplaylist.Models
 {
[MetadataType(typeof(TopTenFav_Validation))]
public partial class TopTenFav
{

}
public class TopTenFav_Validation
{

[RegularExpression("http://www.youtube.com/watch\\?v=.*", ErrorMessage = "Youtube Link must begin with: http://www.youtube.com/watch?v= ")]
[Required(ErrorMessage = "Youtube link is Required")]
[StringLength(100, ErrorMessage="Song Title cannot exceed 100 characters")]
public string YoutubeLink { get; set; }

[StringLength(100, ErrorMessage = "Youtube link cannot exceed 100 characters")]
[Required(ErrorMessage = "Song title is Required")]
public string Title { get; set; }
}