我是asp和vb.net的新手,我刚刚学习了正则表达式验证,但有一件事让我烦恼:我如何隐藏我的表达式不被我的源代码查看?
计划是制作一个非常简单的“登录”类型的页面。我知道在这种行动中,这与所有神圣的东西相悖,但这只是我想尝试的东西。
此外,在验证表达式之后,我想加载另一个页面,我正在考虑通过以下方式实现此目的:
<asp:TextBox ID="txtcp" runat="server"></asp:TextBox>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ErrorMessage="CP Errada"
Display="Dynamic" ControlToValidate="txtcp" ValidationExpression="admin"></asp:RegularExpressionValidator>
和vb:
If txtcp is validated then
Response.Redirect("mypage.aspx")
end if
但是这个IF的语法显然不对,任何帮助都会很棒。
答案 0 :(得分:0)
您可以使用以下方法缩小Regex Validator的大小。
<asp:TextBox ID="txtcp" runat="server" />
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" />
然后在你的代码背后
Function Page_Load()
With RegularExpressionValidator1
.ErrorMessage="CP Errada"
.Display="Dynamic"
.ControlToValidate="txtcp"
.ValidationExpression="admin"
End With
End Function
Function SubmitButton_Clicked()
If Page.IsValid Then
Response.Redirect("mypage.aspx")
End If
End Function
不幸的是,您无法对其进行加密,因为整个验证点是使用客户端Javascript。使用正则表达式以我认为你在你的例子中做的方式验证用户名是很糟糕的(实际上非常糟糕)。老实说,正确的做法是在ASP.NET Membership Provider中使用构建。它非常容易学习,默认情况下大部分都是安全的,最重要的是......它“没有大惊小怪,没有Muss”。