Контроль валидации не работает
Я использую 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>
<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);