2012-11-16 14 views
5

doğrulamak için ben boş ise girişin değerini doğrulamak ve bir twitter önyükleme popover ile mesaj hata gösterir bu kodu vardır: değişiklik olayı bitinceBıkmadan değerini

$(document).on("ready", login_events()); 

function login_events(){ 

    $("#userId, #password").on("change", validateEmpty); 
    $("#loginButton").on("click", validateAll); 

} 

function validateEmpty(){ 

    input = $(this); 
    input.popover({animation: true, placement: 'right', trigger: 'manual', title: 'Field is Empty', content: input.attr("data-empty-message")}); 
    isValid = true; 

    if(input.val() === ""){ 
     input.popover('show'); 
     isValid = false; 
    } 
    else{ 
     input.popover('hide'); 
    } 

    return isValid; 

} 

Bu mükemmel çalışıyor ama Formdaki her giriş arasında yinelemeli, boşsa (validateEmpty()) doğrulayın ve boşsa önizleme yapılmasını engelleyen başka bir işlev yapmak istediğinizde.

function validateAll(event){ 

    $("#loginForm input").each(validateEmpty); 

} 

cevap

1

bu kapatma deneyin: Bunu yapmanın doğru yolunu olamaz böyle bir şey var ama validateAll işlevini çalıştırmak için #loginButton için tıklama etkinlik kurulum görebileceğiniz gibi

:

function validateAll(event){ 
    var isValid = true; 
    $("#loginForm input").each(function(){ 
     input = $(this); 
     input.popover({animation: true, placement: 'right', trigger: 'manual', title: 'Field is Empty', content: input.attr("data-empty-message")}); 
     isValid = true; 

     if(input.val() === ""){ 
      input.popover('show'); 
      if (isValid) 
       isValid = false; 
     } 
    }); 
    if (!isValid) { 
     alert('form is not valid!'); 
    } 
} 
+0

Teşekkürler, koddaki isValid ile nasıl başa çıkacağınız ile ilgili bir şeyler anlayabilirim. Aşağıdaki cevabı yazdım. –

0

Teşekkürler @ VMAtm! Zaten oluşturduğum validateEmpty işlevini çalıştırmak için her bir() içindeki işlevi değiştirdim. Şimdi harika çalışıyor!

function validateAll(event){ 

    isValid = true; 

    $("#loginForm input").each(validateEmpty); 

    if(!isValid){ 
    event.preventDefault(); 
    } 
}