Есть ли в Asp.net функциональность электронной почты с валидатором? - PullRequest
2 голосов
/ 14 июня 2011

Мое требование: если пользователь вводит электронную почту в текстовое поле asp.net, она должна проверяться из базы данных, существует ли эта электронная почта или нет, и должна прекратить отправку формы, есть ли какие-либо встроенные функции или я должен сделать это сам?

Спасибо Atif

Ответы [ 3 ]

4 голосов
/ 14 июня 2011

Ты должен сделать это сам.Вы можете использовать AJAX следующим образом:

 <asp:TextBox ID="txtEmail" runat="server" MaxLength="50"
        AutoPostBack="true" OnTextChanged="txtEmail_Changed"></asp:TextBox>
    <asp:RequiredFieldValidator ID="rfv" runat="Server" 
        ErrorMessage="*" ControlToValidate="txtEmail" Display="Dynamic" SetFocusOnError="True"></asp:RequiredFieldValidator>
    <asp:RegularExpressionValidator ID="RegularExpressionValidator6" runat="server" ControlToValidate="txtEmail"
        CssClass="ValidationError" Display="Dynamic" ErrorMessage="Invalid Email"
        ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" SetFocusOnError="True"></asp:RegularExpressionValidator>

 <asp:UpdatePanel ID="upMessage" runat="Server" UpdateMode="Conditional">
      <Triggers>
         <asp:AsyncPostBackTrigger ControlID="txtEmail" EventName="TextChanged" />
       </Triggers>
   <ContentTemplate>
       <asp:Label ID="lbl" runat="server" Text=""></asp:Label>
    </ContentTemplate>
 </asp:UpdatePanel>

protected void txtEmail_Changed(object sender, EventArgs e)
    {
    // Write your code to check from DB
    }
0 голосов
/ 14 июня 2011

Насколько я знаю, такого нет (более того, где следует проверять уникальность электронной почты - в базе данных - в домене Active Directory?)

Вы должны определить свой собственный элемент управления валидатора., наследуя от BaseValidator класса.

0 голосов
/ 14 июня 2011

Обычно я делаю это так:

SqlConnection myConnection1 = new SqlConnection("Data Source=server;Initial Catalog=stuff Integrated Security=True"
SqlCommand myCommand1 = new SqlCommand("SELECT [email] FROM [dbo].[dbo].[dbo];", myConnection1);
SqlDataReader reader = myCommand1.ExecuteReader();

if (reader.HasRows)
{

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...