我想在同一个asp.net页面上验证两个文本框,每个文本框都有相应的客户端验证功能。
我在asp.net表单的head部分中引用了一个外部js文件。
其中一个要验证的文本框是运行良好的日期。也就是说,当输入无效日期时,它会显示错误消息。但是无法调用其他文本框的功能。
这是我的asp.net标记:
<asp:CustomValidator ID="CustomValidator2" runat="server"
ClientValidationFunction="validateDate" ControlToValidate="txtdate"
Display="Dynamic" ErrorMessage="CustomValidator" ForeColor="Red"
ValidationGroup="a" onservervalidate="CustomValidator2_ServerValidate">تاریخ نامعتبر</asp:CustomValidator>
<asp:TextBox ID="txtdate" runat="server" Width="120px"></asp:TextBox>
<asp:CustomValidator ID="CustomValidator1" runat="server"
ClientValidationFunction="validatePhoneNumber" ControlToValidate="txtphone"
Display="Dynamic" ErrorMessage="CustomValidator" ForeColor="Red"
onservervalidate="CustomValidator1_ServerValidate1" ValidationGroup="a"
>تلفن نامعتبر</asp:CustomValidator>
<asp:TextBox ID="txtphone" runat="server" Width="120px"></asp:TextBox>
日期的客户端验证发生但是对于电话,它没有。顺便说一下,这是我的客户端javascript文件的内容:
function validateDate(oSrc, args) {
var iDay, iMonth, iYear;
var arrValues;
arrValues = args.Value.split("/");
iMonth = arrValues[1];
iDay = arrValues[2];
iYear = arrValues[0];
var testDate = new Date(iYear, iMonth - 1, iDay);
if ((testDate.getDate() != iDay) ||
(testDate.getMonth() != iMonth - 1) ||
(testDate.getFullYear() != iYear)) {
args.IsValid = false;
return;
}
return true;
}
function validatePhoneNumber(oSrc, args) {
if (args.Value.Length < 7) args.IsValid = false;
if (isNaN(parseInt(args.value, 10))) args.IsValid = false;
return true;
}
这对我来说太令人沮丧了!