2009-03-20 8 views

cevap

6

formu gönderilmeyecek.

$('#form').submit(function(){ 
    return validateForm1() 
      && validateForm(document.forms['dpart2']) 
      && validateForm(document.forms['dpart3']);           
       } 
}); 
3

Eğer validateForm (...) ve validateForm1() (true hiçbir doğrulama hatası oluştu demektir) bir boolean dönmek, o zaman bunu deneyin: function yanlış döndürürse

$('#form').submit(function(){ 
    if (!validateForm1() || !validateForm(document.forms['dpart2']) || !validateForm(document.forms['dpart3'])) { 
     return false; 
    } 
}); 
7
$('#form').submit(function(){ 
    return (validateForm1() && 
      validateForm(document.forms['dpart2']) && 
      validateForm(document.forms['dpart3'])) 
}); 

Temel olarak, olay işleyicisi işlevinde return false.

3

Otomatik olarak ortaya çıkan bir düşünce: Tam istemci tarafı doğrulaması uygulasanız bile, sunucu üzerinde herhangi bir geçersiz istek verisi alabileceğinizi hayal edebileceksiniz.

İstemci tarafı doğrulama, sizi sunucu tarafı doğrulamasından koruyamaz. Bu kullanılabilirlik sadece bir bonus.

4

Tamam, diğer çözümlerin bazıları tembel bir başarısızlığa sahip olacak ... muhtemelen tüm onaylarınızın çalışmasını istiyorsanız, tüm hatalar görüntülensin. Varsayım, doğrulama yöntemlerinin başarısız olması durumunda false döndürecek olmasıdır.

$("#myform").submit(function() { 

    var ret = true; 
    ret = validateForm1() && ret; 
    ret = validateForm(document.forms['dpart2']) && ret 
    ret = validateForm(document.forms['dpart3'])) && ret 
    return ret; 

});

tüm doğrulayıcılar adı verilecek Bu şekilde, ancak herhangi bir arıza Boole değeri; bir başarısız sonuçlanacaktır.