2011-01-20 26 views
0

我對asp和vb.net非常陌生,我剛剛瞭解了正則表達式驗證,但有一件事是在煩擾我:如何隱藏我的表達式以便在源代碼中查看?如何在VB.net中加密我的ValidationExpression?

該計劃是做一個非常簡單的'登錄'類型的頁面。我知道這種做法違背了所有神聖的東西,但這只是我想嘗試的。

此外,表達已得到證實後,我想在另一頁,我想與實現這一目標:

<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

您可以使用以下縮小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中的內部版本。這是非常容易學習,默認情況下大多是安全的,最重要的是......它是「沒有大礙,沒有穆斯」。