Проверка информации о пользователе на странице регистрации

Я хочу создать страницу регистрации для своего веб-сайта.

У меня есть три текстовых поля: одно для имени пользователя, другое для пароля и третье для повторного пароля.

<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), а не событие на стороне сервера.

Как я могу проверить это значение, используя событие размытия или любым другим способом?


person Saman    schedule 26.01.2014    source источник


Ответы (2)


Просто используйте элементы проверки ASP.net. .

Для текстовых полей пароля используйте элемент управления 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>

Для текстового поля имени пользователя вы можете использовать элемент управления Custom Validator.

Вам понадобится что-то вроде:

Страница 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, в котором описывается использование этого элемента управления для проверки пользовательского ввода по базе данных.

person Damon    schedule 26.01.2014
comment
когда я использую customValidator, страница перезагружается. как я могу это предотвратить? - person Saman; 27.01.2014
comment
@Saman Попробуйте разместить элементы управления в UpdatePanel. - person Damon; 27.01.2014

Это не тривиальная задача. Очевидно, вы должны делать проверки на стороне сервера. Вы можете совершать вызовы ajax при обработке onblur. Для этого вы можете использовать jquery ajax.

Надеюсь, я помог!

person Pantelis Natsiavas    schedule 26.01.2014