验证注册页面上的用户信息

时间:2014-01-26 16:35:22

标签: asp.net sql-server onblur

我想为我的网站创建一个注册页面。

我有三个文本框,一个用于用户名,另一个用于密码,第三个用于重复密码。

<asp:TextBox ID="UserName" runat="server"></asp:TextBox>  
<asp:TextBox ID="PassWord" runat="server"></asp:TextBox>  
<asp:TextBox ID="RE-Pass" runat="server"></asp:TextBox>

现在我想检查这三个文本框的值。

对于第一个文本框,我应该通过连接到数据库来检查它的值,以检查它的唯一性。对于其他两个文本框,我应该检查它们的值是否相同。

我用过模糊事件,但它是客户端(javascript)事件而不是服务器端事件。

如何使用模糊事件或任何其他方式检查这些值?

2 个答案:

答案 0 :(得分:1)

这不是一项微不足道的任务。显然你应该在服务器端进行检查。您可以onblur处理ajax calls。您可以使用jquery ajax来执行此操作。

希望我帮忙!

答案 1 :(得分:1)

只需使用ASP.net validator controls

对于密码文本框,请使用CompareValidator控件。

来自MSDN

  

将输入控件中用户输入的值与   值输入另一个输入控件或具有常量值。

你需要的是:

<asp:textbox ID="Textbox1" runat="server" TextMode="Password"></asp:textbox>
<asp:textbox ID="Textbox2" runat="server" TextMode="Password"></asp:textbox>
<asp:CompareValidator ID="CompareValidator1" runat="server" ErrorMessage="No Match." ControlToValidate="Textbox1" ControlToCompare="Textbox2"></asp:CompareValidator>

对于用户名文本框,您可以使用自定义验证程序控件。

你需要的是:

ASPX页面

<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
<asp:CustomValidator ID="CustomValidator1" runat="server" ErrorMessage="Invalid User     Name" ControlToValidate="TextBox3" 
OnServerValidate="CustomValidator1_ServerValidate"></asp:CustomValidator>

代码背后

protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
{
     bool userNameIsValid = true; // Database check here.

     if (userNameIsValid)
         args.IsValid = true
     else  
         args.IsValid = false;
   }

这是MSDN上的tutorial,它描述了使用此控件来验证针对数据库的用户输入。

相关问题