2010-06-11 68 views

回答

4

記住,真正的驗證應該始終在服務器上發生。你做任何客戶端只是一個優化,以節省幾個http往返旅程。

保持客戶端和服務器端驗證與ASP.Net同步的最簡單方法是使用驗證控件。驗證控件將執行客戶端和服務器端驗證,以這種方式,如果驗證在客戶端上失敗,它永遠不會發布到服務器。

如果你想做一些未被標準驗證控件覆蓋的東西,你應該使用CustomValidator或從BaseValidator繼承你自己的控件。

0

你使用什麼:一些驗證器或一些按鈕與onclick事件? 如果你有

<input type="button" id="btnID" runat="server" onclick="CheckValid();"/> 

function CheckValid() 
{ 
    if(!IsValid) return false;//then no post back occer 
} 
+1

你可以在這個例子中返回IsValid :) – TheLukeMcCarthy 2013-05-02 18:39:41

+0

你應該投票回答來自「user132936」的回答。 – Kate 2013-05-22 12:41:24

2

如果回發是由一個按鈕觸發,那麼你可以做這樣的事情:

<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="return IsValid();" /> 

如果IsValid的函數返回false,那麼回傳將被阻止。 如果你想趕上所有的回發無論哪個控制觸發它,那麼你可以使用
<form id="form1" runat="server" onsubmit="return IsValid();">

0

取決於你試圖驗證,您可能還可以使用CustomValidator控件。這也可以讓你輕鬆地在服務器端實現你的驗證邏輯。

相關問題