Контроль валидации не работает

Я использую Visual Studio 2012 в Windows 10. Когда я использую проверку в веб-форме, она показывает, что проверка была добавлена ​​(в режиме конструктора), но когда я открываю в браузере, она ничего не показывает. ПОМОГИТЕ

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

1 ответ

Вы должны определить Text атрибут CustomValidator чтобы увидеть метку при сбое проверки:

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

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

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

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

var value = parseInt(args.Value);
Другие вопросы по тегам