我有三个文本框,我想验证它们.至少一个文本框必须包含数据.
我怎样才能做到这一点?
(文本框是家庭电话号码,工作电话号码,手机号码,我需要检查至少一种联系方式)
解决方法
使用自定义验证器,无需循环浏览页面上的文本框,因为此方法会获取页面上的所有文本框.将为每个文本框调用ClientValidationFunction中指定的JavaScript函数,并使用与之关联的验证程序.
<asp:TextBox ID="txtHomePhone" runat="server"></asp:TextBox> <asp:CustomValidator ID="cvHomePhone" runat="server" ErrorMessage="*" ClientValidationFunction="Validate" ControlToValidate="txtHomePhone" ValidateEmptyText="true"></asp:CustomValidator> <asp:TextBox ID="txtWorkPhone" runat="server"></asp:TextBox> <asp:CustomValidator ID="cvWorkPhone" runat="server" ErrorMessage="*" ClientValidationFunction="Validate" ControlToValidate="txtWorkPhone" ValidateEmptyText="true"></asp:CustomValidator> <asp:TextBox ID="txtMobilePhone" runat="server"></asp:TextBox> <asp:CustomValidator ID="cvMobilePhone" runat="server" ErrorMessage="*" ClientValidationFunction="Validate" ControlToValidate="txtMobilePhone" ValidateEmptyText="true"></asp:CustomValidator> <script language="javascript"> function Validate(sender,args) { args.IsValid = false; if(args.Value != "") { args.IsValid = true; } } </script>