2009-06-26 13 views
0

Ich habe eine asp.net-Seite mit einem Server Seite senden Schaltfläche und 2 Textfelder, die nur numerische Werte akzeptieren. Auch mit ASP.net Validierung Kontrollen.Umgang mit Fehlermeldungen mit asp.net

Wenn der Benutzer nicht-numerische Daten in beide Textfelder eingibt, zeige ich nur 1 Fehlermeldung auf der Seite an: "Nur numerische Werte sind erlaubt." Und das möchte ich erreichen, ohne ein serverseitiges Ereignis auszulösen.

Danke.

Antwort

3

Nun offensichtlich müssen Sie dies mit Javascript tun.

Ich weiß nicht genau die Javascript-Methoden zu überprüfen, ob die Eingabe numerisch ist, ich schätze, Sie können eine Regex verwenden. Aber man könnte eine versteckte div haben wie

<div id="numericErrorMessage" class="error" style="display:none;"> 
     Numeric Values only. 
</div> 

Dann können Sie tun:

if(!IsNumber(text1) || !IsNumber(text2)) { 
    document.getElementById(numericErrorMesage).style.display = 'block'; 
} 

natürlich ist das „pseudocodish“ aber ich denke, das wird für Sie arbeiten, wenn Sie den Weg finden können javascript Nach gültigen Zahlen suchen und in die IsNumber-Funktion einfügen

+0

danke ... wird diese lösung über Safari, Firefox, dh Browser funktionieren? – user74042

+0

Ich vermute es wäre, doc.getelemntbyid ist ziemlich Standard. –

0

Sie könnten einen Regex Validator verwenden:

<asp:RegularExpressionValidator id="RegularExpressionValidator1" 
       ControlToValidate="TextBox1" 
       ValidationExpression="\d" 
       Display="Static" 
       ErrorMessage="Only numeric values are allowed." 
       EnableClientScript="True" 
       runat="server"/> 
+0

danke ... aber wenn ich RegularExpressionValidator an jeden der Textfelder anschließe und wenn der Benutzer in beiden nicht-numerische Werte eingibt, dann würde die Fehlermeldung zweimal angezeigt werden was ich nicht auf der Seite zeigen möchte. Ich möchte eine Fehlermeldung anzeigen e nur einmal. – user74042

+0

Sie haben Recht. Ich habe Jacks Antworten aufgefrischt, da er die Anforderungen erfüllt. –

1

Sie könnten über Jquery Validierung mit Hilfe der \ d regex verwenden. Mit jQuery haben Sie mehr Kontrolle über die Ausgabe. It is discussed here.

0

Ich würde vorschlagen, einen benutzerdefinierten Validator verwenden, wenn Sie nur eine Fehlermeldung möchten. Sie müssen Ihre eigenen Server- und Client-Validierungsfunktionen schreiben, aber das ist einfach genug. Hier ist ein Link:

http://msdn.microsoft.com/en-us/library/f5db6z8k(VS.71).aspx

Sie auch ein Validator vergleichen verwenden könnte, aber dann sind Sie gehen zu müssen, für jede Kontrolle haben, ein, und Sie werden zwei Fehlermeldungen führen.

Verwandte Themen