2016-04-01 6 views
0

Я использую визуальную студию 2012 на окнах 10. Когда я использую проверку в веб-форме, она показывает, что валидация была добавлена ​​(в режиме проектирования), но когда я открываю ее в браузере, она не показывает что-нибудь. HELPЭлементы управления проверками не работают

<%@ 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>

ответ

0

Вы должны определить атрибут CustomValidatorText, чтобы увидеть знак, если проверка не пройдена:

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

Чтобы увидеть сообщение об ошибке, вы должны добавить a ValidationSummary в вашей форме:

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

Наконец, в вашей validateNumber функции, вы должны преобразовать Value аргумент в ряд перед тестированием:

var value = parseInt(args.Value);