我在asp.net中使用正则表达式验证器c#登录页面..我有不同的登录页面,分别为学生,讲师和管理员......登录ID分别为1RNxxCSxxx,1RNLECSxxx,1RNADCSxxx(x-digits) )我的问题是它验证文本框并显示错误消息..但它仍然继续n登录..我的代码是..
<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>
ie ..如果我在学生登录页面输入讲师ID,我仍然可以登录,尽管有gettin错误信息。非常感谢。谢谢你。
答案 0 :(得分:1)
从文本框的名称看,您正在使用自定义登录逻辑。我建议您考虑使用会员提供商,它将更加健全地保护您的整个应用程序。查看How to configure member ship with a database other than aspnetdb
对于您的直接问题,但是在检查用户是否有效的方法中。
if( !Page.IsValid )
{
return;
}
可在此处找到更多信息:this link
此外,您的正则表达式也不正确。使用以下内容进行成功匹配。
^1RN([0-9]{2}|LE|AD)CS[0-9]{3}$
上面的表达式表示字符串应该开始(^表示开始),1RN有两个数字或LE或AD后跟字母CS和三个数字($表示结束)。