0

我在asp.net中使用正则表达式验证器c#作为登录页面..我有不同的学生、讲师和管理员登录页面..登录ID的格式分别为1RNxxCSxxx、1RNLECSxxx、1RNADCSxxx(x位)我的问题它是否验证文本框并显示错误消息..但它仍然继续登录..我的代码是..

    <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"       ControlToValidate="TextBox1" ErrorMessage="Enter in 1RNxxCSxxx format" ValidationExpression="[1][R][N][0-9][0-9][C][S][0-9][0-9][0-9]"></asp:RegularExpressionValidator>

即..如果我在学生登录页面中输入讲师ID,尽管出现gettin错误消息,我仍然可以登录..任何帮助将不胜感激。谢谢你

4

1 回答 1

1

从您的文本框名称看来,您正在使用自定义登录逻辑。我建议您考虑使用会员提供程序,它可以更强大地保护您的整个应用程序。查看如何使用除 aspnetdb 之外的数据库配置成员船

对于您的直接问题,尽管在登录用户的方法中检查页面是否有效。

if( !Page.IsValid )
{
     return;
}

更多信息可以在这里找到: 这个链接

您的正则表达式也不正确。使用以下方法成功匹配。

^1RN([0-9]{2}|LE|AD)CS[0-9]{3}$

上面的表达式表示字符串应该以 1RN 开头(^ 表示开始)有两个数字或 LE 或 AD,后跟字母 CS 和三个数字($ 表示结束)。

于 2013-04-25T10:43:51.497 回答