2010-06-11 75 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控件。这也可以让你轻松地在服务器端实现你的验证逻辑。

相关问题