2016-05-13 46 views
0

首先,我知道我可以使用JavaScript,但讓我解釋一下。是否可以在asp.net控件上進行客戶端唯一驗證?

我的目標是能夠使用任何驗證的:

  • 要求
  • 正則表達式
  • 比較

,只有從他們的客戶端 - 受益方面驗證。我對繼承的控件進行了子分類,並防止將name屬性呈現給客戶端。原因是我不想回到服務器的敏感數據。刪除名稱屬性會阻止該值與控件一起發送。

以必填字段爲例,由於未發送該值,因此它總是在服務器上驗證失敗。我可以使用自定義驗證器,但要利用所有驗證類型的所有預構建功能。

希望有人有創造性的想法,思想,或者如果我對明顯的盲目,或者如果它是直接不可能的。

回答

-1

您可以嘗試使用ASP.Net Ajax控件工具包,它是一個用於Web開發的開源庫。

如果你想使用標準的Asp.Net控件,你可以使用驗證控制器有比較,自定義,範圍,正則表達式和必需的字段驗證器。

問候

0

重置在頁面重載的Validate功能驗證的IsValid屬性似乎工作:

public override void Validate() 
{ 
    base.Validate(); 
    rfvNotEmpty.IsValid = true; 
} 
+0

注:我不知道爲什麼,我的回答是還沒有被downvoted(還)是唯一一個,但我不是誰downvoted其他答案的人。 :-) – ConnorsFan

+0

哈哈。我聽到你。我正在看你的答案。有人沉沒我的戰列艦,我不知道爲什麼。 – user1447679

+0

謝謝你不要沉沒我的戰列艦,如果那是你的話。 :) – user1447679

-1

如果我理解你的問題正確,你希望你的服務器端驗證控制工作客戶端,那麼您需要在頁面中添加最新的jquery文件的引用,如示例中所示。

服務器端控件將驗證客戶端,表單將不會發布到服務器端,直到經過驗證的客戶端。

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="ValidationTest.aspx.vb" Inherits=".ValidationTest" %> 

<!DOCTYPE html> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
<title></title> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script> 
</head> 
<body> 
<form id="form1" runat="server"> 
    <asp:Panel runat="server"> 
     <asp:TextBox runat="server" ID="txtName" CssClass="form-control" /> 
     <asp:RequiredFieldValidator 
      ID="rvtxtName" 
      InitialValue="" 
      runat="server" 
      ControlToValidate="txtName" 
      ForeColor="Red" 
      ErrorMessage="*Field Required!" 
      Display="Dynamic" 
      ValidationGroup="add"> 
     </asp:RequiredFieldValidator> 
     <asp:Button runat="server" ID="btnSubmit" Text="Save" ValidationGroup="add" /> 
    </asp:Panel> 


    </form> 
</body> 

+0

恐怕你誤解了這個問題。 – user1447679

相關問題