2012-04-02 10 views
5

Gerekli sayıda alana sahip bir formumuz var. Gerekli bir alanda olduğumda ve formun gönderilmediği enter tuşuna basıyorum. Ancak, gerekli olmayan bir alanda olursam, enter tuşuna basmak formu gönderir. Bu sorunludur çünkü formun gönderilmesi, doğrulama özetini en üstte görüntülemek için doğrulamayı tetikleyen şeydir. Eğer gerekli bir alandaysa, bu doğrulamayı ateşlemez. Kendi doğrulama işlemini gerçekleştiriyor ve hata metnimi (sadece yıldız işareti) görüntülüyor gibi görünüyor, ancak insanlar bunu görmüyor.asp.net gerekli alan doğrulayıcı devre dışı bırak düğmesi giriş formuna girme

Zorunlu olmayan bir alan anahtarının anahtarı neden formu göndereceğini bilen var mı, ancak gerekli bir alan anahtarı girmez mi?

cevap

0

Açıkladığınızdan, sunucu tarafı doğrulaması kullanıyormuşsunuz gibi geliyor. Doğrulayıcıda, istemci tarafı doğrulamasını devre dışı bırakacak şekilde EnableClientScript ayarlamayı deneyin.

bu yeterli değilse, göndermek düğme böyle tıklandığında doğrulama geçersiz kılabilirsiniz:

<script type="text/javascript"> 
    validateForm = function(){ 
     var isValid = Page_ClientValidate(""); 
     if (isValid){ 
      //some custom logic if needed 
     } 
     return true; //do the postback even if validation fails? 
        //otherwise return isValid 
    } 
</script> 
<asp:Button ID="Button1" runat="server" OnClientClick="return validateForm();" ... /> 
+0

ben hem sunucu hem de istemci tarafı doğrulama kullanıyorum. İstemci tarafı doğrulamasını neden kullanmak istemediğimi anlamıyorum? Doğrulayıcıyı doğrulayıcı olarak ayarlamak için doğrulayıcı alanlara sahip olmadığımda, formu gönderen zorunlu alanlar yoktur. Bu da fikir değil. Sadece bir textarea alanı dışındaki herhangi bir alanın, gerekip gerekmediğine bakılmaksızın isabet sırasında formu göndereceğini umuyorum. –

+0

Bu yüzden, gereksinimlerinizi karşılamak için doğrulama işlemini değiştirmenize izin veren bir örnek verdim. –

+0

Yani, tüm alanların formu göndermesi, bunu göndermemesi ve göndermenin tek yolunun düğmeyi tıklatmasıdır. –

İlgili konular