在以前为了验证用户输入的数据是否有效,既要编写大量JavaScript代码,还要编写服务器端验证代码(因为用户可能禁止运行脚本),现在使用asp.net提供的一系列控件可以大大简化这方面的工作!
1、RequiredFieldValidator(验证控件是否有内容)
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <asp:RequiredFieldValidator runat="server" ControlToValidate="TextBox1" ErrorMessage="您还没有输入"></asp:RequiredFieldValidator> <asp:Button ID="Button1" runat="server" Text="Button" />
<asp:RangeValidator ID="RangeValidator1" runat="server" ControlToValidate="TextBox1" ErrorMessage="输入1到10之间的数字" MaximumValue="10" MinimumValue="1" Type="Integer"></asp:RangeValidator> <asp:Button ID="Button1" runat="server" Text="Button" />
3、CompareValidator(比较两个控件内的内容)
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox> <asp:CompareValidator ID="CompareValidator1" runat="server" ControlToCompare="TextBox1" ControlToValidate="TextBox2" ErrorMessage="两次输入的内容不一样"></asp:CompareValidator> <asp:Button ID="Button1" runat="server" Text="Button" />
4、RegularExpressionValidator(正则表达式验证)
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="TextBox1" ErrorMessage="邮件格式不正确" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator> <asp:Button ID="Button1" runat="server" Text="Button" />
5、CustomValidator(为用户提供自定义的验证)
JavaScript代码(客户端验证函数)
<script type="text/javascript""> function IsChina(ctl, args) { args.IsValid=(args.Value=="china"); } </script>
服务器控件代码
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <asp:CustomValidator ID="CustomValidator1" runat="server" ControlToValidate="TextBox1" ErrorMessage="no china" onservervalidate="CustomValidator1_ServerValidate"></asp:CustomValidator> <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args) { args.IsValid = args.Value == "china"; }