0

유효성 검사 오류가 있음을 나타내는 유효성 검사 메시지가 없을 때 유효성 검사 오류가있는 것처럼 코드가 작동합니다. 여기 jquery form validate 함수가 예상대로 작동하지 않습니다.

내 JQuery와 클릭 기능이며 내부에서 나는 양식을 검증 경우 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; 
     } 
    }); 

를 코드는 항상 경고 메시지 상자를 표시하는 다른 부분으로 이동 if 문 . 유효성 검사 메시지가 나타나지 않아 유효성 검사 오류가 없습니다. 여기

내 유효성 검사 논리입니다 : 내가 번 확인

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; } 
} 

}

그 I 입력 내 텍스트 상자에 올바른 형식의 데이터 모든 것이 좋아 보이지만 내 양식은 아직 어떤 이상한 이유로 유효하지 않습니다 , 도와주세요. 감사합니다

답변

0

$("#AddTopTenFavForm").valid()의 출력을 확인하여 반환 값을 확인하십시오.

+0

어떻게 출력을 확인합니까? –

+0

경고가 가장 간단하고 더러운 방법입니다. Firefox 또는 Chrome 용 Firebug 플러그인을 사용하는 경우 콘솔을 열어 확인할 수 있습니다. (window.console) window.console.log ($ –

관련 문제