2016-04-01 18 views
0

Ich benutze Visual Studio 2012 auf Windows 10. Wenn ich eine Validierung im Web-Formular verwendet, zeigt es eine Validierung wurde hinzugefügt (in Design-Ansicht), aber wenn ich im Browser öffnen wird es nicht angezeigt etwas. HELPValidierungen Kontrollen funktionieren nicht

<%@ Page Language="C#" %> 
 
<script runat="server"> 
 

 
    void Button1_Click(Object sender, EventArgs e) { 
 
     Label1.Text = "VALID NUMBER!"; 
 
    } 
 

 
</script> 
 
<html> 
 
<head> 
 
    <script language="JavaScript"> 
 
     function validateNumber(oSrc, args) { 
 
      args.IsValid = (args.Value % 5 == 0); 
 
     } 
 
    </script> 
 
</head> 
 
<body> 
 
    <form runat="server"> 
 
     <p> 
 
      Number: 
 
      <asp:TextBox id="TextBox1" 
 
      runat="server"></asp:TextBox> 
 
      &nbsp; 
 
      <asp:CustomValidator id="CustomValidator1" 
 
      runat="server" ControlToValidate="TextBox1" 
 
      ErrorMessage="Number must be divisible by 5" 
 
      ClientValidationFunction="validateNumber"> 
 
      </asp:CustomValidator> 
 
     </p> 
 
     <p> 
 
      <asp:Button id="Button1" onclick="Button1_Click" 
 
      runat="server" Text="Button"></asp:Button> 
 
     </p> 
 
     <p> 
 
      <asp:Label id="Label1" runat="server"></asp:Label> 
 
     </p> 
 
    </form> 
 
</body> 
 
</html>

Antwort

0

Sie müssen das Text Attribut des CustomValidator definieren eine Markierung zu sehen, wenn die Validierung fehlschlägt:

<asp:CustomValidator id="CustomValidator1" runat="server" Text="*" ... /> 

Um die Fehlermeldung zu sehen, sollten Sie hinzufügen a ValidationSummary in Ihrer Form:

<asp:ValidationSummary ID="ValidationSummary1" runat="server" DisplayMode="List" /> 

schließlich in Ihrer validateNumber Funktion, sollten Sie das Value Argument in eine Zahl vor der Prüfung es konvertieren:

var value = parseInt(args.Value);