2012-04-02 11 views
5

Mamy formularz z pewną liczbą wymaganych pól. Gdy znajdę się na wymaganym polu i uderzę klawiszem Enter, formularz nie zostanie przesłany. Jeśli jednak znajdę się na polu, które nie jest wymagane, naciśnięcie klawisza Enter spowoduje przesłanie formularza. Jest to problematyczne, ponieważ przesłanie formularza powoduje uruchomienie sprawdzania poprawności w celu wyświetlenia podsumowania sprawdzania poprawności u góry. Jeśli znajduję się na wymaganym polu, nie powoduje to zatwierdzenia. Wydaje się, że uruchamia swoją walidację i wyświetla tekst błędu (który jest tylko gwiazdką), ale ludzie tego nie widzą.asp.net wymagany walidator pól wyłącza wprowadzanie formularza przycisku Enter

Czy ktoś wie, dlaczego wymagane pole do wpisania klucza nie przesłałoby formularza, ale wymagane hasło do wpisania pola nie byłoby potrzebne?

Odpowiedz

0

Z tego, co opisałeś, wynika, że ​​używasz sprawdzania poprawności po stronie serwera. Spróbuj ustawić EnableClientScript na wartość false w walidatorze, co wyłącza sprawdzanie poprawności po stronie klienta.

Jeśli to nie wystarczy, można zastąpić walidację gdy przycisk kliknięciu przedstawić tak:

<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

używam zarówno poprawności po stronie serwera i klienta. Nie rozumiem, dlaczego nie chciałbym używać sprawdzania poprawności strony klienta? Kiedy ustawiam walidację po stronie klienta walidatora na false, wtedy nie mam wymaganych pól, które przesyłają formularz. To też nie jest pomysł. Spodziewam się, że dowolne pole z wyjątkiem pola tekstowego może przesłać formularz po naciśnięciu klawisza Enter niezależnie od tego, czy jest wymagane, czy nie. –

+0

Dlatego podałem przykład, który pozwala manipulować procesem walidacji w celu zaspokojenia twoich potrzeb. –

+0

Więc mówisz, że zamiast wypełniania formularza przez wszystkie pola, spraw, aby żadne nie przesłało go, a jedynym sposobem na przesłanie go jest kliknięcie przycisku? –

Powiązane problemy