控件的局部验证
Microsoft给我们做了很多很多!
比如Microsoft的验证控件RequiredFieldValidator,CompareValidator,RegularExpressionValidator等。
但是页面上有多个Button后,我们不管点击那个Button都会触发验证控件。有时,这不是我们想要的。以前我做过一个
EC的购物流程。当用户结算的时候弹出登陆窗口[旁边有注册功能],这样2边的验证应该是隔离的。之间没有耦合性。可是不管点击登陆还是注册。双方的验证控件都进行验证。在VS2005我们可以用ValidationGroup来设置验证集合。
可是在VS2003里不知道用什么?。
迫不得已,还是回到最原始的js方法吧。
例子如下:
客户端代码
<script language="javascript">
function jsValidate()
{
var obj=document.getElementById("<%=txtValiate.ClientID%>");
if(obj.value=="")
{
document.getElementById("<%=hidStatus.ClientID %>").value="0";
alert("不能为空");
}
else
{
document.getElementById("<%=hidStatus.ClientID %>").value="1";
//alert("你输入了!");
}
}
</script>
<asp:TextBox ID="txtValiate" runat="server" ></asp:TextBox>
<asp:Button ID="btnValidate" runat="server" Text="调用客户端" OnClick="btnValidate_Click" />
<input type="hidden" runat="server" id="hidStatus" value="" />
服务器端代码
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
this.btnValidate.Attributes.Add("onclick", "jsValidate()");
}
}
protected void btnValidate_Click(object sender, EventArgs e)
{
if (this.hidStatus.Value == "1")
{
Response.Write("调用服务器控件了。");
}
}
有知道VS2003如何设置的朋友,请赐教!
比如Microsoft的验证控件RequiredFieldValidator,CompareValidator,RegularExpressionValidator等。
但是页面上有多个Button后,我们不管点击那个Button都会触发验证控件。有时,这不是我们想要的。以前我做过一个
EC的购物流程。当用户结算的时候弹出登陆窗口[旁边有注册功能],这样2边的验证应该是隔离的。之间没有耦合性。可是不管点击登陆还是注册。双方的验证控件都进行验证。在VS2005我们可以用ValidationGroup来设置验证集合。
可是在VS2003里不知道用什么?。
迫不得已,还是回到最原始的js方法吧。
例子如下:
客户端代码
<script language="javascript">
function jsValidate()
{
var obj=document.getElementById("<%=txtValiate.ClientID%>");
if(obj.value=="")
{
document.getElementById("<%=hidStatus.ClientID %>").value="0";
alert("不能为空");
}
else
{
document.getElementById("<%=hidStatus.ClientID %>").value="1";
//alert("你输入了!");
}
}
</script>
<asp:TextBox ID="txtValiate" runat="server" ></asp:TextBox>
<asp:Button ID="btnValidate" runat="server" Text="调用客户端" OnClick="btnValidate_Click" />
<input type="hidden" runat="server" id="hidStatus" value="" />
服务器端代码
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
this.btnValidate.Attributes.Add("onclick", "jsValidate()");
}
}
protected void btnValidate_Click(object sender, EventArgs e)
{
if (this.hidStatus.Value == "1")
{
Response.Write("调用服务器控件了。");
}
}
有知道VS2003如何设置的朋友,请赐教!